ইউএনআইএক্স সকেট ফাইলটির জন্য mysqld_safe ডিরেক্টরি '/ var / run / mysqld' বিদ্যমান নেই


187

Mysqld_safe ব্যবহার করে mysql সার্ভারটি শুরু করার সময়, ত্রুটিযুক্ত ঘটনাগুলি অনুসরণ করে।

2017-02-10T17:05:44.870970Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-10T17:05:44.872874Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-10T17:05:44.874547Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.

কিভাবে ঠিক হবে এটা ?

উত্তর:


500

এটি অদ্ভুত বলে মনে হচ্ছে যে এই ডিরেক্টরিটি ইনস্টল করার সময় তৈরি করা হয়নি - আপনি মাইক্রোসফটটি মাইক্রোসফট ফাইলটির পংক্তিটি মাইক্রোসফ্টে পরিবর্তন করেছেন?

আপনি কি এই ডিরেক্টরিটি নিজে তৈরি করার চেষ্টা করেছেন এবং পরিষেবাটি পুনরায় চালু করার চেষ্টা করেছেন?

mkdir -p /var/run/mysqld
chown mysql:mysql /var/run/mysqld

2
না, আমি নিজে কোনও পরিবর্তন করি নি। আমি ডিরেক্টরি তৈরি করে এটি চেষ্টা করব। পরামর্শের জন্য ধন্যবাদ
রাজাদীপ

14
এটি mysql 5.7 এ ঘটে। আপনি যখন mysql পরিষেবাটি বন্ধ করেন / var / run / mysqld মুছে ফেলা হয় এবং পুনরায় পরিষেবাটি চালু করার পরে পুনরায় তৈরি করা হয়।
ক্যাপি

2
উভয়ের জন্য সুডো ব্যবহার করতে হয়েছিল
কাসুন রাজাপাকশ

1
@ ক্যাপী - আপভোট - @ ম্যাট ক্লার্ক - আপনি তথ্যটি অন্তর্ভুক্ত করার জন্য দয়া করে আপনার উত্তরটি সম্পাদনা করুন যদিও ডিআইআর তৈরি করা হয়েছিল তবে এটি চালানো হলে মুছে ফেলা হবে - $ sudo /etc/init.d/mysql stopধন্যবাদ
রোহিত ধনকার

যদি আপনি এখনও এই পদক্ষেপগুলি অনুসরণ করে একই ত্রুটি পেয়ে থাকেন তবে দ্রষ্টব্য যে sudoএই ডিরেক্টরিটি একবারে mysqlবন্ধ হয়ে যাওয়ার পরে এটি সরানো sudoহবে এবং এটি ছাড়া এই ফোল্ডারগুলিতে অ্যাক্সেস থাকবে না !!!
জাদে

71

যখন আমি কোডটি ব্যবহার করেছি mysqld_safe --skip-grant-tables &তবে আমি ত্রুটিটি পেয়েছি:

ইউএনআইএক্স সকেট ফাইলটির জন্য mysqld_safe ডিরেক্টরি '/ var / run / mysqld' বিদ্যমান নেই।

$ systemctl stop  mysql.service
$ ps -eaf|grep mysql
$ mysqld_safe --skip-grant-tables &

আমি সমাধান করেছি:

$ mkdir -p /var/run/mysqld
$ chown mysql:mysql /var/run/mysqld

এখন আমি একই কোড ব্যবহার করি mysqld_safe --skip-grant-tables &এবং পাই

mysqld_safe / var / lib / mysql থেকে ডাটাবেস সহ mysqld ডিমন শুরু করা হচ্ছে

আমি যদি ব্যবহার $ mysql -u rootকরি তবে আমি পেয়ে যাব:

সার্ভার সংস্করণ: 5.7.18-0ubuntu0.16.04.1 (উবুন্টু)

কপিরাইট (সি) 2000, 2017, ওরাকল এবং / বা এর সাথে সম্পর্কিত। সমস্ত অধিকার সংরক্ষিত.

ওরাকল ওরাকল কর্পোরেশন এবং / বা এর সম্পর্কিত সংস্থাগুলির নিবন্ধিত ট্রেডমার্ক। অন্যান্য নাম তাদের নিজ নিজ মালিকদের ট্রেডমার্ক হতে পারে।

'সহায়তা' টাইপ করুন; বা '\ এইচ' সাহায্যের জন্য। বর্তমান ইনপুট স্টেটমেন্ট সাফ করতে '\ সি' টাইপ করুন।

MySQL>

এখন পাসওয়ার্ড পরিবর্তন করার সময়:

mysql> use mysql
mysql> describe user;

সারণী এবং কলামের নাম সমাপ্তির জন্য সারণীর তথ্য পড়ুন আপনি -A দিয়ে দ্রুত প্রারম্ভিকতা পেতে এই বৈশিষ্ট্যটি বন্ধ করতে পারেন

ডাটাবেস পরিবর্তিত হয়েছে

mysql> FLUSH PRIVILEGES;
mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('newpwd');

অথবা আপনার যদি কোনও মাইএসকিএল মূল অ্যাকাউন্ট থাকে যা সর্বত্র থেকে সংযোগ করতে পারে তবে আপনারও এটি করা উচিত:

UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';

বিকল্প পদ্ধতি:

   USE mysql
   UPDATE user SET Password = PASSWORD('newpwd')
   WHERE Host = 'localhost' AND User = 'root';

এবং যদি আপনার কাছে এমন একটি রুট অ্যাকাউন্ট থাকে যা সর্বত্র থেকে অ্যাক্সেস করতে পারে:

 USE mysql
 UPDATE user SET Password = PASSWORD('newpwd')
 WHERE Host = '%' AND User = 'root';`enter code here

এখন quitমাইএসকিএল থেকে স্টপ / স্টার্ট করা দরকার

FLUSH PRIVILEGES;
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start

এখন আবার 'mysql -u root -p' এবং পেতে নতুন পাসওয়ার্ডটি ব্যবহার করুন

MySQL>


9
যেহেতু মাইএসকিউএল ৫.7. the পাসওয়ার্ড কলামটির নাম পরিবর্তন করে "প্রমাণীকরণ_ স্ট্রিং" করা হয়েছিল এখানে আপনি এটি সম্পর্কে আরও পড়তে পারেন: বাগস.মাইসকিএল.বগ.এফপি?
আইডি

6

CentOS এ আমার জন্য কাজ করুন:

$ service mysql stop
$ mysqld --skip-grant-tables &
$ mysql -u root mysql

mysql> FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

$ service mysql restart

0

আপনার ডাটাবেসের কোনও ডেটা না থাকলে বা সেই তথ্যটি পুনরুদ্ধার করার জন্য আপনার আর একটি দূরে থাকে তবে আপনি নিম্নলিখিতগুলি চেষ্টা করতে পারেন। আপনাকে উবুন্টু সার্ভারের রুট পাসওয়ার্ডটি জানতে হবে তবে মাইএসকিএল রুট পাসওয়ার্ড নয়।

এটি অত্যন্ত সম্ভবত যে আমাদের মধ্যে অনেকেই "মাইএসকিএল_সিকিউর_ইনস্টল" ইনস্টল করেছেন কারণ এটি একটি সেরা অনুশীলন। যেখানে মাইএসকিএল_সিকিউর_ইনস্টলেশন বিদ্যমান সেখানে বিন ডিরেক্টরিতে নেভিগেট করুন। এটি উবুন্টু সিস্টেমে / বিন ডিরেক্টরিতে পাওয়া যাবে। ইনস্টলারটি পুনরায় চালু করার মাধ্যমে আপনাকে রুট ডাটাবেস পাসওয়ার্ড পরিবর্তন করতে হবে কিনা সে সম্পর্কে আপনাকে জিজ্ঞাসা করা হবে।


তবে, আমি মনে করি এটি কেবল নিরাপদ মাইএসকিএল সার্ভার ব্যবহার করা উচিত? তাই না? এটি এই সমস্যার মধ্যে কোনও পার্থক্য রাখে না।
রাজাদীপ

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