যখন আমি কোডটি ব্যবহার করেছি 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>