آموزش ریست کردن پسورد MySQL در ابونتو 18
6070
14 شهریور 1397

گاهاً اتفاق افتاده است که پس از مدتی پسورد یوزر Root پایگاه داده MySQL فراموش شده و یا دیگر به آن دسترسی ندارید ، با وجود دیتابیس‌های متعدد شما نمی‌توانید MySQL را مجدداً نصب و یا کانفیگ کنید چون اطلاعات شما از بین خواهد رفت. حال در این مطلب قصد داریم از سری مطلب آموزش ابونتو 18 با آموزش ریست کردن پسورد MySQL در ابونتو 18 در خدمت شما کاربران گرامی باشیم تا در صورت بروز مشکل بتوانید از آن استفاده نمایید.

نکته : این مطلب و سری دستورات آن بر روی ابونتو 18 تست شده است و برای اجرای بر روی سایر توزیع‌های لینوکس ، کمی دستوراتی متفاوتی باید استفاده گردد که در مطالب آتی نیز به آنها پرداخته خواهد شد.

حال در ادامه با آموزش ریست کردن پسورد MySQL در ابونتو 18 همراه ما باشید.

نکته : در این آموزش تمامی دستورات با دسترسی Root وارد شده است ، چنانچه شما با یوزر Root به لینوکس خود متصل نشده‌اید باید از دستور Sudo قبل از دستورات لینوکس استفاده نمایید.

آموزش ریست کردن پسورد MySQL در ابونتو 18

1- ابتدا دستور زیر را وارد کنید تا ورژن MySQL به شما نمایش داده شود.

mysql --version

خروجی دستور بالا ، به شکل زیر خواهد بود.

MySQL output
mysql  Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using  EditLine wrapper

2- حال دستور زیر را وارد کنید تا سرویس دیتابیس استاپ شود.

systemctl stop mysql

3- حال در ادامه به ویرایش سرویس MySQL خواهیم پرداخت تا بتوان بدون احراز هویت به آن دسترسی داشته باشید.

  • ابتدا دستور زیر را وارد کنید تا سرویس MySQL برای ویرایش باز شود.
systemctl edit mysql
  • حال عبارات زیر را در فایل وارد کرده و سپس آن را ذخیره نمایید.
[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid --skip-grant-tables --skip-networking

نکته : این فایل به صورت پیش‌فرض باید خالی باشد ، اما اگر فایل دارای محتویاتی مشابه کدهای بالا بود ، تنها دو پارامتر قرمز رنگ مشخص شده در متن را اضافه نمایید و سپس فایل را ذخیره نمایید.

4- حال با دستور زیر تنظیمات Systemd را ریلود نماید.

systemctl daemon-reload

5- پس از ریلود شدن Systemd ، دستور زیر را وارد کرده تا MySQL استارت شود.

systemctl start mysql

دستور بالا پس از اجرا هیچ خروجی ندارد اما سرویس بدون نیاز به دسترسی با پسورد اجرا خواهد شد.

6- حال دستور زیر را وارد کنید تا به محیط MySQL بروید.

mysql -u root

پس از وارد کردن دستور بالا ، خروجی مشابه زیر که به معنای ورود موفقیت آمیز شما به MySQL است ، نمایش داده خواهد شد.

MySQL prompt
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

7- بعد از ورود به این محیط ، دستور زیر را وارد کرده تا دسرسی به دیتبایس‌ها یک بار فلاش شود.

FLUSH PRIVILEGES;

8- هم اکنون شما می‌توانید با وارد کردن دستورات زیر به ترتیب به ریست کردن پسورد Root پایگاه داده MySQL بپردازید.

  • ابتدا دستور زیر را وارد کنید تا پسورد روت را در پایگاه داده تغییر دهید.
UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHERE user = 'root';

دقت داشته باشید که به جای عبارت new_password پسورد مورد نظر خود را وارد نمایید.

بعد از وارد کردن دستور بالا به صورت صحیح ، خروجی مشابه زیر نمایش داده خواهد شد.

Output
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
  • پس از وارد کردن دستور بالا ، مکانیزم تأیید هویت MySQL تغییر پیدا خواهد کرد ، بنابراین برای بازگشت به حالت پیش‌فرض دستور زیر را وارد نمایید.
UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root';

خروجی دستور بالا به شکل زیر خواهد بود.

Output
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

پس از  اتمام دستورات بالا از محیط MySQL خارج شوید.

9- بعد از اتمام مراحل ریست کردن پسورد نیز باید سرویس را از طریق دستورات زیر به حالت اول بازگرداند.

  • دستور زیر را وارد کنید تا تنظیمات سرویس MySQL به حالت پیش‌فرض بازگردد.
systemctl revert mysql

خروجی دستور به شکل زیر خواهد بود.

Output
Removed /etc/systemd/system/mysql.service.d/override.conf.
Removed /etc/systemd/system/mysql.service.d.
  • پس از این اقدام ، دستور زیر را وارد کنید تا پیکربندی Systemd یک بار ریلود شود.
systemctl daemon-reload
  • در پایان دستور زیر را وارد کنید تا سرویس MySQL ریستارت شود.
systemctl restart mysql

حال شما می‌توانید از طریق دستور زیر به محیط MySQL وارد شده و از پسورد جدید نیز استفاده نمایید.

mysql -u root -p

در پایان امیدواریم از آموزش ریست کردن پسورد MySQL در ابونتو 18 استفاده لازم را برده باشید.

کاربر گرامی چنانچه نیاز به انجام عملیات فوق برای MariaDB را دارید از آموزش ریست پسورد روت MariaDB در ابونتو 18 استفاده نمایید.

کاربر گرامی شما می‌توانید سؤالات مربوط به این آموزش را در بخش کامنت‌ها عنوان کرده و در همین قسمت پاسخ خود را دریافت کنید و یا برای رفع مشکلات دیگر در زمینه آموزش‌های آذرآنلاین به بخش Community مراجعه کرده و مشکل خود را در آن مطرح نمایید تا در اسرع وقت کاربران دیگر و کارشناسان به سؤالات شما پاسخ دهند.