আমি একটি সমাধান পেয়েছি!
পদক্ষেপ 2) এ রুট পাসওয়ার্ড পুনরায় সেট করার সময়, এই পৃষ্ঠার প্লাগইনকে এতেও পরিবর্তন করুন mysql_native_password
:
use mysql;
update user set authentication_string=PASSWORD("") where User='root';
update user set plugin="mysql_native_password" where User='root'; # THIS LINE
flush privileges;
quit;
এটি আমাকে সফলভাবে লগ ইন করার অনুমতি দিয়েছে!
সম্পূর্ণ কোড সমাধান
1. bash কমান্ড চালান
1. প্রথমে এই ব্যাশ কমান্ডগুলি চালান
sudo /etc/init.d/mysql stop # stop mysql service
sudo mysqld_safe --skip-grant-tables & # start mysql without password
# enter -> go
mysql -uroot # connect to mysql
2. তারপরে mysql কমান্ডগুলি চালান => ম্যানুয়ালি ক্লিমে এটি অনুলিপি করুন
use mysql; # use mysql table
update user set authentication_string=PASSWORD("") where User='root'; # update password to nothing
update user set plugin="mysql_native_password" where User='root'; # set password resolving to default mechanism for root user
flush privileges;
quit;
আরও বাশ কমান্ড চালান
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start # reset mysql
# try login to database, just press enter at password prompt because your password is now blank
mysql -u root -p
4. সকেট ইস্যু (আপনার মন্তব্য থেকে)
আপনি যখন সকেটের ত্রুটি দেখেন , একটি সম্প্রদায় 2 সম্ভাব্য সমাধান নিয়ে আসে:
sudo mkdir -p /var/run/mysqld; sudo chown mysql /var/run/mysqld
sudo mysqld_safe --skip-grant-tables &
(@ সেরিনকে ধন্যবাদ)
অথবা
mkdir -p /var/run/mysqld && chown mysql:mysql /var/run/mysqld
(@ পিটার দ্বুখ্রেচেনস্কিকে ধন্যবাদ জানাই)
অন্ধ পথ এবং সম্ভাব্য প্রান্ত ত্রুটি
লোকালহোস্টের পরিবর্তে 127.0.0.1 ব্যবহার করুন
mysql -uroot # "-hlocalhost" is default
"অনুপস্থিত ফাইল" বা স্লিট ত্রুটির দিকে পরিচালিত করতে পারে।
mysql -uroot -h127.0.0.1
আরও ভাল কাজ করে।
সকেটের ইস্যুটি এড়িয়ে যান
আমি mysqld.sock
ফাইল তৈরির , অ্যাক্সেসের অধিকারগুলি পরিবর্তন করতে বা এটি সিমিলিং করার অনেকগুলি উপায় খুঁজে পেয়েছি । এটি সর্বোপরি সমস্যা ছিল না।
my.cnf
ফাইলটি এড়িয়ে যান
বিষয়টিও ছিল না। আপনি যদি নিশ্চিত না হন তবে এটি আপনাকে সহায়তা করতে পারে ।