ত্রুটি 2002 (HY000): সকেট '/var/run/mysqld/mysqld.sock' (2) এর মাধ্যমে স্থানীয় মাইএসকিউএল সার্ভারের সাথে সংযোগ স্থাপন করতে পারে না 2


441

আমি ইনস্টল বাতি উপর উবুন্টু 12.04 LTS (সঠিক প্যাঙ্গোলিন) এবং তারপর উপর রুট পাসওয়ার্ড সেট পিএইচপি মাই এডমিন । আমি পাসওয়ার্ড ভুলে গিয়েছি এবং এখন আমি লগইন করতে অক্ষম। আমি যখন টার্মিনালের মাধ্যমে পাসওয়ার্ড পরিবর্তন করার চেষ্টা করি তখন আমি পাই:

ত্রুটি 2002 (HY000): সকেট '/var/run/mysqld/mysqld.sock' (2) এর মাধ্যমে স্থানীয় মাইএসকিউএল সার্ভারের সাথে সংযোগ স্থাপন করতে পারে না 2

আমি এটা কিভাবে ঠিক করবো? আমি ল্যাম্প খুলতে, এটি আনইনস্টল করতে বা এটি পুনরায় ইনস্টল করতে অক্ষম।


: সম্ভবত পুনরায় ইনস্টল করুন এটা সহজ stackoverflow.com/a/31984482/763744
Zernel

মাইএসকিউএল বন্ধ করে এবং নিরাপদ মোডে --grant টেবিলগুলি এড়িয়ে শুরু করে পাসওয়ার্ডটি পুনরায় সেট করুন

আপনার টার্মিনালে এটি টাইপ করুন "sudo apt-get ইনস্টল mysql-server"
হামফ্রে

মাইএসকিএল পরিষেবা শুরু করুন বা পুনরায় চালু করুন এবং চেক করুন। sudo /etc/init.d/mysql start or sudo /etc/init.d/mysql পুনঃসূচনা
জিতেন্দ্র প্যাটেল

systemctl mariadb.service শুরু করুন
থিয়েবাস

উত্তর:


253

আমি একবার এই সমস্যাটি পেয়েছি এবং এটি ইনস্টল করে সমাধান করেছি mysql-server, সুতরাং নিশ্চিত হয়ে নিন যে আপনি বা অন্য কোনও কিছু নয় mysql-server, ইনস্টল করেছেন mysql-client

এই ত্রুটিটির অর্থ ফাইলটি /var/run/mysqld/mysqld.sockবিদ্যমান নেই, আপনি ইনস্টল mysql-serverনা করে থাকলে ফাইলটির অস্তিত্ব থাকত না। সেক্ষেত্রে এটি ইনস্টল করুন

sudo apt-get install mysql-server

তবে যদি mysql-serverইতিমধ্যে ইনস্টল করা আছে এবং চলছে, তবে আপনাকে কনফিগার ফাইলগুলি পরীক্ষা করতে হবে।

কনফিগারেশন ফাইলগুলি হ'ল:

/etc/my.cnf
/etc/mysql/my.cnf
/var/lib/mysql/my.cnf

ইন /etc/my.cnf, সকেট ফাইল কনফিগারেশন হতে পারে /tmp/mysql.sockএবং /etc/mysql/my.cnfসকেট ফাইল কনফিগারেশনে থাকতে পারে /var/run/mysqld/mysqld.sock। সুতরাং, মুছে ফেলুন বা পুনরায় নামকরণ করুন /etc/mysql/my.cnf, মাইএসকিএল ব্যবহার করতে দিন /etc/my.cnf, তবে সমস্যাটি সমাধান হতে পারে।


আপনি মাইএসকিএল ডিমন চলমান থাকতে পারেন, এবং মাইএসকিএল-সার্ভার-কোর ইনস্টল করতে পারেন তবে আপনাকে মাইএসকিএল-সার্ভারটি ইনস্টল করতে হবে যা বাইনারি এবং সিস্টেম ডাটাবেস সেটআপ!
সিড্রিক

99
sudo apt-get install mysql-serverউবুন্টুতে
মাইএসকিএল

9
যদি আমার প্রযুক্তিগতভাবে ব্যাখ্যা করতে হয় তবে আমি বলব 1) আপনি যদি "mysql -u <user_name> -h <MySQL_Server_address> -p" চালাচ্ছেন তবে আপনি মাইএসকিএল সার্ভারটি অ্যাক্সেস করতে আসলে মাইএসকিএল ক্লায়েন্ট চালাচ্ছেন। আপনি '-h' দিয়ে উল্লিখিত ঠিকানা / আইপি ঠিকানায় যদি মাইএসকিএল সার্ভার ইনস্টল না করেন তবে উপরের ত্রুটিটি পপ আপ হয়ে যাবে। এটি সকেট mysql.sock 2 এর মাধ্যমে মাইএসকিউএল সার্ভারের সাথে সংযোগ স্থাপন করতে সক্ষম না হওয়ায় এটি 2) যদি মাইএসকিএল-সার্ভারটি ইতিমধ্যে ইনস্টল করা থাকে তবে এটি চালিত হওয়া উচিত f যদি এটি না হয় তবে আপনি একই ত্রুটিটি পর্যবেক্ষণ করবেন। সুতরাং এটি আপনার নির্দিষ্ট করা সার্ভারে চালিয়ে যান।
ময়ুর নাগেকার

1
আপনি যদি ডাটাবেস সঞ্চিত থাকে সেই ডিরেক্টরিটি পরিবর্তন করার চেষ্টা করেন তবে কনফিগারেশন ফাইলে (টাইপের মতো) ভুল ডিরেক্টরি চাপিয়ে দেওয়াও এটির ঘটতে পারে। আপনাকে টাইপ ডিরেক্টরিটি বিদ্যমান নেই বলার পরিবর্তে এটি আপনাকে বলবে যে আপনি এটি অ্যাক্সেস করার অনুমতি নেই।
মাইকেল

4
প্রথম পদক্ষেপ হিসাবে আমি সার্ভার প্রক্রিয়াটি পুনরায় চালু করার চেষ্টা করার পরামর্শ দেব (সার্ভার বনাম ক্লায়েন্টের অন্যান্য বৈশিষ্ট্যগুলি দেখুন)। Sudo /etc/init.d/mysql পুনরায় চালু করার চেষ্টা করুন। সাধারণত, পুনরায় ইনস্টলেশন প্রয়োজন হয় না। আমি আপনাকে প্রথমে লগ ফাইলগুলি পরীক্ষা করার পরামর্শ দিচ্ছি। কেবল মাইএসকিএল-র লগ ফাইলই নয়, আপনারা / ভার্ / লগ / সিসলগও যেহেতু আপনার কোনও সার্ভার ক্র্যাশ হয়ে থাকতে পারে যার ফলে মাইএসকিএল পার্শ্ব প্রতিক্রিয়া হিসাবে ভেঙে গেছে।
Rein

212

এটা চেষ্টা কর:

mysql -h 127.0.0.1 -P 3306 -u root -p <database>

এছাড়াও (এটি চলছে কিনা তা দেখতে):

telnet 127.0.0.1 3306 

সম্ভবত এটি ( লিনাক্স বিতরণের উপর নির্ভর করে ) my.cnfফাইলটিতে কেবল একটি ভুল কনফিগারেশন ।/etc/somewhere


1
আমি একই ত্রুটি পাচ্ছি। এবং আমি চেক করেছি এবং মূল এবং my.cnf উভয়টিতে ডিফল্ট বাইন্ডটি ইতিমধ্যে 127.0.0.1 এ সেট করা আছে। তবে উপরে আপনার কমান্ডটি ব্যবহার করে আমাকে সংযোগ করার অনুমতি দিয়েছে। কেবল "মাইএসকিএল" করা কেন ত্রুটি দিচ্ছে তা দেখার জন্য শিকার চালিয়ে যেতে হবে।
চিচিয়েরা

1
আমি টেলনেট পাই: দূরবর্তী হোস্টের সাথে সংযোগ করতে অক্ষম: টেলনেট কমান্ডের ফলে সংযোগ অস্বীকার করেছে। যাইহোক আমি
ষি দুয়া

@ চ্যাচেরা আপনি জানেন, আমার আগে এই ত্রুটি ছিল না। কিন্তু যখন আমি এসএসএস টানেলটি ব্যবহার করে কোনও আইওএস অ্যাপ্লিকেশন মাধ্যমে আমার ডিবিতে সংযোগ করতে চেয়েছিলাম তখন আমি এই 2013 ত্রুটিটি পেয়েছি। এটি সমাধান করার জন্য আমাকে 1 রেফারেন্স 2 রেফারেন্স সম্পাদনা করতে /etc/my.cnfএবং মন্তব্য করতে হয়েছিল । তারপর আমি সংযোগ করতে পারে। এর পরে, আমি বুঝতে পেরেছিলাম যে আমি এখন এই 2002 ত্রুটিটি পেয়েছি যা আমাকে এই উত্তরে নিয়েছে এবং এখন এটি আবার কাজ করছে efআপনি কেন কেবল টাইপ না করে ত্রুটি ছুঁড়েছেন তার ব্যাখ্যা পেয়ে আমি অবশ্যই আপনার সাথে একমত । #bind-address = 127.0.0.1 mysql-h
পাঠ্রস

দ্রষ্টব্য: mysql -h localhostকাজ করে না। mysql -h 127.0.0.1উত্তরে বর্ণিত হিসাবে ব্যবহার নিশ্চিত করুন ।
ভাদসাম্বার

আমি যদি এই উত্তরে কমান্ডটি দিয়ে লগইন করতে পারি তবে আমি কীভাবে এটি সমাধান করতে পারি?
কার্লোস এ। জিমনেজ হল্মকুইস্ট

128

আমি সব এই উত্তরগুলোর দেখছি, কিন্তু কেউই করার বিকল্প প্রস্তাব পাসওয়ার্ড পুনরায় সেট এবং কোন গৃহীত উত্তর । আসল প্রশ্নটি হ'ল তিনি তার পাসওয়ার্ড ভুলে গেছেন , সুতরাং তাকে পুনরায় সেট করা দরকার, এটি উত্তরগুলির বেশিরভাগ হিসাবে বোঝা যাচ্ছে না এটি চলছে কিনা বা ইনস্টল করা হয়নি কিনা not


পাসওয়ার্ড পুনরায় সেট করতে

এই পদক্ষেপগুলি অনুসরণ করুন (আপনি যদি সত্যিই নিজের পাসওয়ার্ডটি ভুলে যান তবে সহায়ক হতে পারে এবং আপনি এই মুহুর্তে পরিস্থিতিটি না থাকলেও আপনি যে কোনও সময় চেষ্টা করতে পারেন):

  1. স্টপ mysql

    sudo /etc/init.d/mysql stop

    বা অন্যান্য বিতরণ সংস্করণগুলির জন্য:

    sudo /etc/init.d/mysqld stop
  2. নিরাপদ মোডে মাইএসকিউএল শুরু করুন

    sudo mysqld_safe --skip-grant-tables &
  3. মূল ব্যবহার করে মাইএসকিউএল এ লগইন করুন

    mysql -uroot
  4. ব্যবহারের জন্য মাইএসকিউএল ডাটাবেসটি নির্বাচন করুন

    use mysql;
  5. পাসওয়ার্ড পুনরায় সেট করুন

    -- MySQL version < 5.7
    update user set password=PASSWORD("mynewpassword") where User='root';
    
    -- MySQL 5.7, mysql.user table "password" field -> "authentication_string"
    
    update user set authentication_string=password('mynewpassword') where user='root';
  6. সুবিধাগুলি ফ্লাশ করুন

    flush privileges;
  7. সার্ভারটি পুনরায় চালু করুন

    quit
  8. থামিয়ে আবার সার্ভার শুরু করুন

    উবুন্টু এবং ডেবিয়ান:

    sudo /etc/init.d/mysql stop
    ...
    sudo /etc/init.d/mysql start

    সেন্টস, ফেডোরা এবং আরএইচইএল এ:

    sudo /etc/init.d/mysqld stop
    ...
    sudo /etc/init.d/mysqld start
  9. একটি নতুন পাসওয়ার্ড দিয়ে লগইন করুন

    mysql -u root -p
  10. নতুন পাসওয়ার্ডটি টাইপ করুন এবং আপনার সার্ভারটি আবার উপভোগ করুন যা কিছুই ঘটেনি

এটি একটি মাইএসকিউএল রুট পাসওয়ার্ড রিসেট করা থেকে নেওয়া হয়েছিল ।


ব্যবহারকারী পাসওয়ার্ড আপডেট করা আমার পক্ষে কাজ করে না তবে একবার মাইএসকিউএল মনিটরে লগইন করে এবং মাইএসকিউএল ডাটাবেস ব্যবহার করে, repair table user use_frmএই সমস্যাটি সমাধান করার জন্য আমার পক্ষে কাজ করে worked - স্ট্যাকওভারফ্লো.com
ক্রেগ ভ্যান টন্ডার

20
মাইএসকিউএল ৫.7-এ, mysql.user সারণী ক্ষেত্রের পাসওয়ার্ড ক্ষেত্রটি সরানো হয়েছে, এখন ক্ষেত্রের নামটি 'প্রমাণীকরণ_স্ট্রিং', সুতরাং (5) হওয়া উচিতupdate user set authentication_string=password('mynewpassword') where user='root';
ড্যানিয়েল

আপনি কি এটিকে বাশ স্ক্রিপ্ট করার কোনও উপায় সম্পর্কে জানবেন? আমি যখনই বাক্সটি পুনরায় চালু করব তখন প্রতিবার এটির দরকার হবে বলে মনে হচ্ছে।
vphilipnyc

কিছু আমাকে বলছে যে আপনি একটি কঠোর কাজ চান, তবে আপনাকে প্রতিবার কেন এটি করা দরকার তা অনুসন্ধান করার চেষ্টা করা উচিত এবং এটি ঠিক করা উচিত। স্ক্রিপ্ট হিসাবে একটি নতুন প্রশ্ন জিজ্ঞাসা করুন এবং আপনি ইতিমধ্যে যা চেষ্টা করেছেন তা পোস্ট করুন, সম্ভবত অন্য কেউ কেউ সহায়তা করতে পারে
davejal

2
এটি আমার পক্ষে দুর্দান্ত কাজ করেছে, তবে আমাকে প্রথমে এই সমাধানটি প্রয়োগ করতে হয়েছিল: স্ট্যাকওভারফ্লো.com
অ্যান্ড্রু ফক্স ২

68

আমি নিম্নলিখিত পদক্ষেপগুলি চেষ্টা করেছিলাম:

  1. হিসাবে super userব্যবহার করুন বা ব্যবহার করুনsudo
  2. ওপেন /etc/mysql/my.cnfব্যবহার gedit- র দ্বারা
  3. অনুসন্ধান করুন bind-addressএবং এটির ডেটাবেস সার্ভার হোস্ট মেশিনের আইপি ঠিকানায় পরিবর্তন করুন। আমার জন্য, এটা ছিল localhostবা127.0.0.1
  4. সংরক্ষণ করুন এবং ফাইলটি বন্ধ করুন।
  5. টার্মিনালে ফিরে এসে এক্সিকিউট করুন sudo service mysql start

এবং এটা আমার জন্য কাজ করে।


4
এটি থেকে আমি স্যুডো সার্ভিস মাইএসকিএল পুনরায় চালু করতে পেরেছি এবং এটি কাজ করেছে।
ওরানে

আমার ক্ষেত্রে ত্রুটিটি আইপি পরিবর্তিত হয়েছিল, তাই আমি বাইন্ড-ঠিকানা = লোকালহোস্ট সেট করলাম
নিকোলিস আরিয়াস

@ শাহরিয়ার আমার /etc/my.cnf- এ বাইন্ড অ্যাড্রেস বলে কিছুই বলা হয় না ক্ষেত্রটি যুক্ত করা কি ভাল ধারণা
আরসিবিয়ান

@ সিলভিওডেলগাদো এসএস টানেলিংয়ের মাধ্যমে আপনি যদি কখনও সংযোগ স্থাপন করতে চান তবে তা নয়। এখানে ব্যাখ্যা
প্যাথ্রোস

মাইএসকিএল পরিষেবাটি পুনরায় আরম্ভ করা আমার পক্ষেও কাজ করেছিল তবে কারণ খুঁজে বের করার জন্য এবং ত্রুটি লগটি কোথায় পাওয়া যাবে তা নিশ্চিত হওয়া যায়নি এবং পুনরায় ঘটতে বাধা দেওয়ার চেষ্টা করে ...
মালেকা

41

নিম্নলিখিত কমান্ডটি প্রয়োগ করে আমি এই সমস্যাটি সমাধান করেছি:

mysql.server start

এবং যদি আপনি ম্যাককিউএল ইনস্টল করতে কোনও ম্যাক এবং ব্যবহার করা হয়, কেবল ব্যবহার করুন:

brew services start mysql

35

আমারও একই সমস্যা ছিল। মাইএসকিএল শুরু হবে না:

sudo service mysql start
start: Job failed to start

যদি আমি অ্যাপারমার অক্ষম করে থাকি:

sudo aa-complain /etc/apparmor.d/*

সমস্যাটি চলে গেল। সমস্যাটি ছিল যে মাইএসকিএলডি /run/mysqld/mysqld.sock অ্যাক্সেস করার চেষ্টা করছিল তবে অ্যাপমর্ম প্রোফাইলটি কেবল /var/run/mysqld/mysqld.sock (/ var / রানকে / চালানোর সাথে সিমলিংকযুক্ত) অনুমতি দেয়, সুতরাং এগুলি আসলে একই). সমস্ত কনফিগারেশন ফাইলের মধ্যে মাইএসকিএলডি কেন ব্যবহার করছে না তা নিশ্চিত নয় তবে আপনি নিম্নলিখিতটি /etc/apparmor.d/usr.sbin.mysqld এ যুক্ত করে সমস্যার সমাধান করতে পারেন

/run/mysqld/mysqld.pid rw,
/run/mysqld/mysqld.sock rw,

আমি জানতাম না যে আমাকে "সুডো সার্ভিস মাইএসকিএল স্টার্ট" কল করতে হবে। শেষবার আমি উবুন্টুতে মাইএসকিউএল ইনস্টল করেছি, আমি মনে করি এটি ইনস্টলেশন থেকে স্ব-সূচনা হয়েছে ost মাঞ্জারোতে মারিয়াডিবিয়ের ইনস্টলেশনটি পরে স্পষ্টভাবে পরিষেবা শুরু করা দরকার।
dmiller309

31

আমার ক্ষেত্রে এটি ছিল যে ডিস্কটি পূর্ণ ছিল এবং মাইএসকিএলডি আর শুরু করতে পারে নি।

মাইএসকিএল পরিষেবাটি পুনরায় চালু করার চেষ্টা করুন।

> service mysql restart

অথবা

> service mysql stop

> service mysql start

যদি এটি stopকমান্ডকে স্বীকৃতি দেয় না তবে এটি অবশ্যই ডিস্কের স্থান। পার্টিশনের mysqlকিছু অংশ বরাদ্দ করা উচিত বা ডিস্কটি আরও বড় করা উচিত।

এর সাথে ডিস্কের স্থানটি পরীক্ষা করুন

> df -h

2
আমার সাথে একই ঘটনা ঘটেছে - ফুল ডিস্ক। কিছু জায়গা পরিষ্কার করেছেন, রিবুট হয়েছে এবং সমস্যাটি চলে গেছে।
ড্যারেন

2
যদি এটি কার্যকর করতে আপনার সমস্যা হয়: "/etc/init.d/mysqld start" আপনাকে ডিস্কের পার্টিশন পূর্ণ বলে দেবে
টিকন

আমার জন্য একই, ডিস্ক 100%। জায়গা পরিষ্কার করা এবং পরিষেবা শুরু করা ঠিক আছে
হুগো

28

mysqlপ্রক্রিয়াটি হত্যার মাধ্যমে আমি এটি সমাধান করেছি :

ps -ef | grep mysql
kill [the id]

এবং তারপরে আবার সার্ভারটি শুরু করে দিয়েছিলাম:

sudo /etc/init.d/mysql restart

তবে startপাশাপাশি কাজ করে:

sudo /etc/init.d/mysql start

তারপরে আমি হিসাবে লগ ইন adminকরেছি এবং আমার কাজ শেষ হয়েছে।


ঠিক আছে, আমি আসলে মাইএসকিএল ক্র্যাশ হওয়ার আগে তাকে বাতিল করে দিয়েছিলাম। তারপরে আমি "* দয়া করে সিস্লগটি একবার দেখুন।" এবং "ERROR 2002 (HY000): সকেট '/var/run/mysqld/mysqld.sock' (111)" এর মাধ্যমে স্থানীয় মাইএসকিউএল সার্ভারের সাথে সংযুক্ত হতে পারে না। অবশেষে, আমি বুঝতে পারি এটি নিজেকে পুনরুদ্ধার করার চেষ্টা করছে, তাই আমি এটি হত্যা করে পুনরায় চালু করব art
সিডব্লিউএস

এমন কিছু (বিরল) পরিস্থিতি রয়েছে যেখানে "মাইএসকিএল শুরু" ব্যর্থ হবে, সুতরাং আপনার "পুনঃসূচনা" যুক্তিটি ব্যবহার করা দরকার। আপনার যদি ডেমন প্রক্রিয়াটি মারতে হয় তবে কিল কমান্ডের পরিবর্তে "স্টপ" যুক্তি ব্যবহার করা ভাল। তবে কিল্ড কমান্ড কিল কমান্ড (কিলাল মাইএসকিএলডি) এর চেয়ে বেশি সুবিধাজনক।
Rein

মাইএসকিউএল প্রক্রিয়া হত্যা এবং তারপরে মাইএসকিউএল পুনরায় চালু করা আমার পক্ষে কাজ করেছে, দুর্দান্ত
বিশাল শেঠি

21

কোনওভাবে মাইএসকিউএল সার্ভার প্রক্রিয়াটি সকেট তৈরি করেনি, বা ক্লায়েন্টটি ভুল জায়গায় সকেটটি সন্ধান করছে।

আমার প্রথম পরামর্শটি হ'ল মাইএসকিউএল সার্ভার চলছে কিনা তা পরীক্ষা করা। দ্বিতীয় পরামর্শ হতে পারে, মাইএসকিউএল সার্ভারটি কি অন্য কোনও হোস্টে চলছে? যদি তা -h <hostname>হয় তবে টার্মিনালে আপনার মাইএসকিউএল ক্লায়েন্টে পতাকা যুক্ত করুন ।

যদি মাইএসকিউএল প্রকৃতপক্ষে চলছে এবং স্থানীয়ভাবে চলছে, আপনার my.cnfফাইলটি পরীক্ষা করুন। মত একটি লাইন থাকা উচিত

socket = /var/run/mysqld/mysqld.sock

এটি আপনার পোস্টে উল্লিখিত সকেটের অবস্থানের সাথে মেলে কিনা তা দেখুন।

অভিজ্ঞতা থেকে, আমি বলব যে সম্ভবত আপনার মাইএসকিউএল সার্ভারটি মোটামুটি চলছে না বা টার্মিনাল থেকে আপনি যেখানে আপনার মাইএসকিউএল ক্লায়েন্টটি চালাচ্ছেন ঠিক তেমন হোস্টে চলছে না scenario


19

আমার প্রোডাকশন সার্ভারটি পুনরায় চালু করার পরে আমি কেবল একই সমস্যাটি অনুভব করেছি। আমি ডিজিটান ওশেনের ফোঁটাতে দেবিয়ান 8.1 (জেসি) চালাচ্ছি।

আমার সমস্যাটি সমাধান করতে আমি এটিই করেছি:

  1. ফাইলটি /var/run/mysqld/mysqld.sockবিদ্যমান কিনা তা পরীক্ষা করে দেখুন । যদি এটি না হয়, ম্যানুয়ালি প্রবেশ করে এটি তৈরি করুন touch /var/run/mysqld/mysqld.sock(যা আমার করতে হয়েছিল)।

  2. সুতরাং মাইএসকিউএল প্রক্রিয়া এই ফাইলটি ব্যবহার করতে পারে। প্রবেশ করিয়ে বলা ফাইলটির মালিকানা পরিবর্তন করুন chown mysql /var/run/mysqld/mysqld.sock

  3. একবার '2' হয়ে গেলে, মাইএসকিউএল পরিষেবাটি প্রবেশ করে service mysql restartবা পুনরায় চালু করুন /etc/init.d/mysql restart

উপরের পদক্ষেপগুলি অতিক্রম করার পরে, আমার সমস্যাটি সমাধান করা হয়েছিল। আমার এই সমস্যাটি খুব কমই আছে এবং সম্ভবত এর থেকে আরও ভাল উপায় আছে, সুতরাং প্রয়োজনে সব দিক দিয়ে গঠনমূলক প্রতিক্রিয়া জানান :) :)


1
আমি লক্ষ্য করেছি যে ফাইলটি সেখানে নেই এবং কেবল মাইএসকিএল সার্ভারটি পুনরায় চালু করে। এটি স্বয়ংক্রিয়ভাবে ফাইলটি তৈরি করেছে এবং ঠিকঠাক শুরু হয়েছে। সীসা জন্য ধন্যবাদ।
Sojurn

15

আপনার মাইএসকিএল-সার্ভারটি চলমান নাও থাকতে পারে। এটি mysql.server startটার্মিনালে টাইপ করে চলার বিষয়টি নিশ্চিত করুন ।


15

My.cnf এ "bind-adress"প্যারামিটারটি পরীক্ষা করুন ।

অন্য কমান্ড দিয়ে চেষ্টা করুন:

mysql -h 127.0.0.1 -P 3306 -u root -p
  • -হোস্টের জন্য 127.0.0.1, অর্থাৎ লোকালহোস্ট

  • পোর্টের জন্য পি-পি (নোটিশ-পি হিসাবে নোট) 3306, এটি মাইএসকিউএল-র জন্য ডিফল্ট পোর্ট


11

আমার জন্য যা কাজ করেছে তা এখানে:

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
service mysql restart

এটি একটি লিঙ্ক তৈরি করে।


আমার জন্য কাজ করেনি :( এটি দুটি ফোল্ডারের মধ্যে একটি সিলিমিংক তৈরি করে জিজ্ঞাসুবন্টু.com
মাইকেল

11

আপনি যদি অ্যামাজন ইসি 2 ব্যবহার করে থাকেন এবং উদাহরণস্বরূপ আপনার এই সমস্যাটি দেখা দেয় তবে আপনার কেবল এটি করতে হবে:

sudo yum install mysql-server
sudo service mysqld restart

অ্যামাজন ইসি 2-তে কোনও সার্ভার ইনস্টল করা নেই (কেবলমাত্র ক্লায়েন্ট ইনস্টল করা আছে), সুতরাং আপনার ক্ষেত্রে এটি ইনস্টল করতে হবে এবং সেই চেষ্টা করার পরে

 mysql -u root -p

এটি কাজ করে কিনা তা যাচাই করতে।


Mysqld.service পুনঃসূচনা করতে ব্যর্থ: ইউনিট mysqld.service পাওয়া যায় নি। উবুন্টুতে 16.04
কেতাভ চোটালিয়া

9

আমি মনে করি আপনি যখনই ত্রুটি পাবেন

ত্রুটি 2002 (HY000): সকেট '/var/lib/mysql/mysql.sock' এর মাধ্যমে স্থানীয় মাইএসকিউএল সার্ভারের সাথে সংযোগ স্থাপন করতে পারে না

আপনার mysqlডিমনটি চলছে কিনা তা যাচাই করার জন্য আমি প্রথমে সুপারিশ করব ... বেশিরভাগ সময় এটি ডিফল্টরূপে চলবে না। আপনি এটি দ্বারা পরীক্ষা করতে পারেন /etc/init.d/mysqld status

যদি এটি না চলছে তবে প্রথমে এটি শুরু করুন:

.../etc/init.d/mysqld start.

আমি বাজি ধরেছি এটি 110% কাজ করবে।


9

লোকালহোস্ট ব্যবহারের পরিবর্তে:

mysql -u myuser -pmypassword -h localhost mydatabase

127.0.0.1 ব্যবহার করুন

mysql -u myuser -pmypassword -h 127.0.0.1 mydatabase

(এছাড়াও লক্ষ করুন, -p এবং মাইপ্যাসওয়ার্ডের মধ্যে কোনও স্থান নেই)

উপভোগ করুন :)


আপনি এই পাসওয়ার্ডটি সুরক্ষার জন্য কমান্ড লাইন থেকে আপনার পাসওয়ার্ডটি অন্তর্ভুক্ত করতে পারবেন না: mysql -u myuser -p -h 127.0.0.1 মায়াডাটাবেস মাইএসকিউএল আপনাকে আপনার পাসওয়ার্ড জিজ্ঞাসা করবে এবং এটিকে প্রতিধ্বনিত করবে না।
ডিডে

1
এটি আমার জন্য এটি সমাধান করেছে। তবে, আমি এখনও অবাক হয়েছি কেন 127.0.0.1কাজ localhostকরে না কেন ?!
not2savvy

9

আপনার কাছে গুরুত্বপূর্ণ ডাটাবেসের ব্যাকআপ রয়েছে এবং তা নিশ্চিত করে মাইএসকিউএল সম্পর্কিত জিনিসগুলি আনইনস্টল করার চেষ্টা করুন :

apt-get remove --purge mysql\*

তারপরে এটি আবার ইনস্টল করুন :

apt-get install mysql-server mysql-client

এটি আমার জন্য কাজ করেছিল এবং ডেটা রাখা হয়েছিল।

যদি পিএইচপি মাইএসকিউএল ত্রুটিগুলি দেখায় আপনার পিএইচপি মাইএসকিউএল পুনরায় ইনস্টল করতে হতে পারে :

apt-get install php5-fpm php5-mysql

আমি মনে করি এটি মারাত্মক অস্ত্র। আমি সব চেষ্টা করেছিলাম কিন্তু, কেবল আপনার প্রস্তাবই আমাকে সাহায্য করেছিল। ধন্যবাদ !
মেসউ

9

আমিও একই সমস্যার মুখোমুখি হয়েছি এটি ঘটবে যদি আপনার mysql serverডিফল্টরূপে এটি চালু না থাকে তবে এটি আবার কিছুটা সেকেন্ডের পরে থামবে যাতে আপনি আবার ( $ sudo service mysql start ) কমান্ডটি চালান যদি আপনি জানেন তবে পরিবর্তন করতে পারেন।

যে ব্যবহার কমান্ড জন্য

$ sudo service mysql start   

(প্রয়োজনে ব্যবহারকারীর পাসওয়ার্ড রাখুন কারণ আমরা ব্যবহার করি sudo) এবং তারপরে চালান

$ sudo mysql -u root -p          (put user password if required )

এখন আপনি আপনার ডাটাবেস পেয়েছেন


7

আপনার ইনস্টলেশনটি যদি সাম্প্রতিক হয় তবে আপনার ইনস্টলেশন ইনস্টলেশন সার্ভার কিনা তা নিশ্চিত হওয়া উচিত ... mysql-server-5.5 হিসাবে .. সম্ভবত আপনি কেবল "mysql" ইনস্টল করেছেন .. এটি সার্ভারের পরিবর্তে কেবল ক্লায়েন্ট।


7

আপনি যদি XAMPP আপনার Linux মেশিনে ইনস্টল করুন, আপনার কপি করার চেষ্টা my.cnfথেকে ফাইল /opt/lampp/etc/my.cnfথেকে /etc/my.cnf

তারপরে, mysql -u rootআবার চালনা করুন ... আপনার এখন সঠিক সকেট থাকা উচিত এবং মাইএসকিউএল ক্লায়েন্ট চালাতে সক্ষম হবেন।


7

আমি এই সমস্যাটি পেয়েছি, তবে আমি কেবল এটি করেছি:

sudo service mysql restart 

এটা আমার জন্য কাজ করেছে।


7

আমি সমাধান দেখতে পাচ্ছি

কমান্ড চালানোর আগে :mysql_secure_installation

  • ধাপ 1: sudo systemctl stop mariadb
  • ধাপ ২: sudo systemctl start mariadb
  • ধাপ 3: mysql_secure_installation

তারপর এটি রুট পাসওয়ার্ড জিজ্ঞাসা করবে এবং আপনি কেবল করতে টিপুন লিখুন এবং আপনার নতুন রুট পাসওয়ার্ড সেট করুন।


6

আমার ক্ষেত্রে, ডিফল্ট পোর্ট 3306 অন্য কোনও প্রক্রিয়া দ্বারা ব্যবহৃত হয়েছিল এবং এটি শুরু হয় নি। আমি অন্য পরিষেবাটি বন্ধ করে দিয়েছিলাম sudo service mysql start, এটি ভাল কাজ করেছে। বিটিডাব্লু, আপনি sudo lsof -Pn -iTCP:3306বন্দরটি কে ব্যবহার করছেন তা দেখার মতো কিছু ব্যবহার করতে পারেন ।


6

আমার ক্ষেত্রে এটি কিছু গবেষণা ও উন্নয়ন কাজ করে:

আমি মাইএসকিউএল ব্যবহার করে সংযোগ করতে সক্ষম

root-debian#mysql -h 127.0.0.1 -u root -p

তবে এটি নিয়ে কাজ করছে না mysql -u root -p

আমি কোনো পাইনি bind-addressমধ্যে my.cnf । তাই আমি প্যারামিটার outcommented socket=/var/lib/mysql/mysqld.sockমধ্যে my.cnfযা আমাকে লগইন সঙ্গে একটি সমস্যা ঘটাচ্ছে হয়।

পরিষেবাটি পুনরায় চালু করার পরে এটি ঠিকঠাক হয়ে গেল:

root@debian:~# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.6.19 MySQL Community Server (GPL)

6

আমি রিস্টার্ট মাইএসকিএল দিয়ে এই সমস্যাটি সমাধান করেছি

/etc/init.d/mysql stop

এবং

/etc/init.d/mysql start

এটাই.


5

অভিজ্ঞতার সাথে আমি বলছি যে সার্ভারটি প্রথমে চলছে কিনা তা পরীক্ষা করে দেখুন এবং তারপরে মাইএসকিউএল কনফিগার করার চেষ্টা করুন। শেষ সমাধানটি মাইএসকিউএল পুনরায় ইনস্টল করা।


5

টার্মিনালটি খুলুন এবং টাইপ করুন:

sudo apt-get purge mysql-client-core-5.6

sudo apt-get autoremove

sudo apt-get autoclean

sudo apt-get install mysql-client-core-5.5

sudo apt-get install mysql-server  

মাইএসকিউএল ডাটাবেস কোর ক্লায়েন্ট এবং মাইএসকিউএল সার্ভার প্যাকেজ উভয়ই একই সংস্করণ 5.5 হবে। মাইএসকিউএল ক্লায়েন্ট 5.5 এবং মাইএসকিউএল সার্ভার 5.5 হ'ল উবুন্টু 14.04-এ প্যাকেজ রক্ষণাবেক্ষণকারীদের দ্বারা নির্ধারিত এই প্যাকেজের বর্তমান "সেরা" সংস্করণ।

আপনি যদি মাইএসকিউএল ক্লায়েন্ট 5.6 এবং মাইএসকিউএল সার্ভার 5.6 ইনস্টল করতে চান তবে আপনি উবুন্টু সফ্টওয়্যার সেন্টারে মাইএসকিএল-ক্লায়েন্ট-কোর-5.6 এবং মাইএসকিএল-সার্ভার-5.6 প্যাকেজগুলিও পেতে পারেন। গুরুত্বপূর্ণ বিষয় হ'ল ক্লায়েন্ট এবং সার্ভার সংস্করণ নম্বর দুটি ক্ষেত্রেই মিলছে।

এটি আমার পক্ষে কাজ করেছে।


5

আপনার সঠিক অধিকার আছে কিনা তা পরীক্ষা করুন:

sudo chmod 755 /var/lib/mysql/mysql

আমারও একই সমস্যা ছিল এবং এটি আমার পক্ষে কাজ করেছিল। এটি করার পরে আমি মাইএসকিউএল শুরু করতে সক্ষম হয়েছি।


5

আমার ক্ষেত্রে, দেখে মনে হচ্ছে আমি যখন চালাচ্ছিলাম তখন সত্যিই আমি মাইএসকিএল প্রক্রিয়াটি মারতে সক্ষম হইনি

sudo service mysql stop
ps -ef | grep mysql

মাইএসকিএল প্রক্রিয়াটি সর্বদা সেখানে ছিল, দেখে মনে হচ্ছে এটি সকেট ফাইলটি ব্লক করছে এবং নতুন মাইএসকিএল প্রক্রিয়া নিজেই এটি তৈরি করতে সক্ষম হয় নি।

সুতরাং এটি সাহায্য করেছে

cd /var/run
sudo cp mysqld/ mysqld.bc -rf
sudo chown mysql:mysql mysqld.bc/
sudo service mysql stop
sudo cp mysqld.bc/ mysqld -rf
sudo chown mysql:mysql mysqld -R
sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &

এখন আমি ডাটাবেস ব্যবহার করে লগ ইন করতে সক্ষম

mysql -u root

তারপরে রুট পাসওয়ার্ড আপডেট করতে:

UPDATE user SET authentication_string=password('YOURPASSWORDHERE') WHERE user='root';
FLUSH PRIVILEGES;

পিএস : আমার কাছে রুট পাসওড আপডেট করতে সমস্যা হয়েছে, "অউথ_সকেট" প্লাগইনটির মতো সমস্যা মনে হচ্ছে, তাই আমাকে পুরো অধিকার সহ নতুন ব্যবহারকারী তৈরি করতে হয়েছিল

insert into user set `Host` = "localhost", `User` = "super", `plugin` = "mysql_native_password", `authentication_string` = NULL, `password_expired` = "N", `password_lifetime` = NULL, `account_locked` = "N", `Select_priv` = "Y",
`Insert_priv` = "Y", `Update_priv` = "Y", `Delete_priv` = "Y", `Create_priv` = "Y", `Drop_priv` = "Y", `Reload_priv` = "Y", `Shutdown_priv` = "Y", `Process_priv` = "Y", `File_priv` = "Y",
`Grant_priv` = "Y",  `References_priv` = "Y", `Index_priv` = "Y", `Alter_priv` = "Y", `Show_db_priv` = "Y", `Super_priv` = "Y", `Create_tmp_table_priv` = "Y", `Lock_tables_priv` = "Y",
`Execute_priv` = "Y", `Repl_slave_priv` = "Y",  `Repl_client_priv` = "Y",  `Create_view_priv` = "Y", `Show_view_priv` = "Y", `Create_routine_priv` = "Y", `Alter_routine_priv` = "Y",
`Create_user_priv` = "Y",  `Event_priv` = "Y", `Trigger_priv` = "Y", `Create_tablespace_priv` = "Y";

এটি কোনও পাসওয়ার্ড ছাড়াই ব্যবহারকারীর "সুপার" তৈরি করে এবং তারপরে আপনি সংযোগ করতে পারবেন mysql -u super


উত্তরের জন্য ধন্যবাদ এবং আমি মাইএসকিএল-এ লগ ইন করতে সক্ষম হয়েছি, তবে আমার ডাটাবেসে কোনও ব্যবহারকারীর টেবিল নেই।
জন জো

এই সমাধান কাজ করে। রুটের পাসওয়ার্ড পরিবর্তন করার জন্য আপনি স্কেল স্টেটমেন্টটি কার্যকর করার আগে আপনাকে একটি ডাটাবেস নির্বাচন করতে হবে। নীচের বিবৃতিটি কার্যকর করুন - <br> use mysql;<br> এবং আপনি এখন <br> ব্যবহার করতে পারেনUPDATE user SET authentication_string=password('YOURPASSWORDHERE') WHERE user='root'; FLUSH PRIVILEGES;
চার্ল কে।

5

ডেবিয়ান সার্ভার জেসিতে, আমার কাজের সমাধানটি সহজভাবে করা ছিল

service mysql restart
service mysql reload

রুট ব্যবহারকারী হিসাবে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.