ما در این پست نحوه بازیابی (Reset - Recovery) کردن پسورد فراموش شده root در MySQL یا MariaDB روی لینوکس را شرح خواهیم داد.
اگر برای اولین بار است که شما سرور دیتابیس MySQL یا MariaDB را راه اندازی میکنید ممکن است دستور mysql_secure_installation برای اعمال تنظیمات اولیه امنیتی را اجرا نکنید.
یکی از این تنظیمات امنیتی تعریف پسورد اکانت root دیتابیس میباشد که شما باید آنرا خصوصی نگه دارید و تنها در مواقعی که به شدت نیاز هست از آن استفاده کنید. اگر پسورد را فراموش کردید یا نیاز به ریست کردن آن داشتید ( برای مثال زمانی که مدیر یک دیتابیس قوانین را تغییر دهد و یا از سمت خود برکنار شود ) این پست قطعا برای شما مفید واقع خواهد شد.
همچنین توصیه میشود مطالعه کنید :
تغییر پسورد root (روت) MySQL یا MariaDB در لینوکس
اگر چه در این مقاله ما از سرور MariaDB استفاده خواهیم کرد اما این دستورالعمل برای MySQL نیز کار خواهد کرد.
Recover کردن پسورد Root (روت) در MySQL / MariaDB
در ابتدا سرویس مای اسکیول را stop میکنیم. برای استارت و یا متوقف کردن (Start / Stop) سرویس دیتابیس یکی از دستورات زیر را اجرا کنید.
سپس سرویس مای اسکیول را با استفاده از آپشن --skip-grant-tables استارت (Start) میکنیم.
این آپشن به شما امکان متصل شدن به سرور دیتابیس را با عنوان root و بدون نیاز به پسورد فراهم میآورد. (شما ممکن است برای انجمن این مورد نیاز به سوئیچ کردن به یک ترمینال متفاوت داشته باشید)
توصیه میشود مطالعه کنید :
دستورات پایه ای MySQL/MariaDB (بخش اول)
آموزش نصب MariaDB 10.X در لینوکس
سپس بعد از آن مراحل مارک شده در زیر را دنبال کنید.
سرانجام سرویس را متوقف (Stop) کنید سپس متغییر محیطی را unset (غیر فعال کردن) کنید و سرویس را بار دیگر مجددا Start کنید.
در امر باعث خواهد شد تغییرات قبل اعمال شوند و به شما اجازه اتصال به سرور Database را با استفاده از پسورد جدید خواهد داد.
خلاصه
در این مقاله ما درباره نحوه reset یا recovery کردن پسورد روت MySQL / MariaDB بحث کردیم، مثل همیشه اگر نکته ای بود با ما به اشتراک بگذارید.
اگر برای اولین بار است که شما سرور دیتابیس MySQL یا MariaDB را راه اندازی میکنید ممکن است دستور mysql_secure_installation برای اعمال تنظیمات اولیه امنیتی را اجرا نکنید.
یکی از این تنظیمات امنیتی تعریف پسورد اکانت root دیتابیس میباشد که شما باید آنرا خصوصی نگه دارید و تنها در مواقعی که به شدت نیاز هست از آن استفاده کنید. اگر پسورد را فراموش کردید یا نیاز به ریست کردن آن داشتید ( برای مثال زمانی که مدیر یک دیتابیس قوانین را تغییر دهد و یا از سمت خود برکنار شود ) این پست قطعا برای شما مفید واقع خواهد شد.
همچنین توصیه میشود مطالعه کنید :
تغییر پسورد root (روت) MySQL یا MariaDB در لینوکس
اگر چه در این مقاله ما از سرور MariaDB استفاده خواهیم کرد اما این دستورالعمل برای MySQL نیز کار خواهد کرد.
Recover کردن پسورد Root (روت) در MySQL / MariaDB
در ابتدا سرویس مای اسکیول را stop میکنیم. برای استارت و یا متوقف کردن (Start / Stop) سرویس دیتابیس یکی از دستورات زیر را اجرا کنید.
کد PHP:
------------- SystemD -------------
# systemctl stop mariadb
------------- SysVinit -------------
# /etc/init.d/mysqld stop
کد PHP:
------------- SystemD -------------
# systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
# systemctl start mariadb
# systemctl status mariadb
------------- SysVinit -------------
# mysqld_safe --skip-grant-tables &
این آپشن به شما امکان متصل شدن به سرور دیتابیس را با عنوان root و بدون نیاز به پسورد فراهم میآورد. (شما ممکن است برای انجمن این مورد نیاز به سوئیچ کردن به یک ترمینال متفاوت داشته باشید)
کد PHP:
# mysql -u root
توصیه میشود مطالعه کنید :
دستورات پایه ای MySQL/MariaDB (بخش اول)
آموزش نصب MariaDB 10.X در لینوکس
سپس بعد از آن مراحل مارک شده در زیر را دنبال کنید.
کد PHP:
MariaDB [(none)]> USE mysql;
MariaDB [(none)]> UPDATE user SET password=PASSWORD('YourNewPasswordHere') WHERE User='root' AND Host = 'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
کد PHP:
------------- SystemD -------------
# systemctl stop mariadb
# systemctl unset-environment MYSQLD_OPTS
# systemctl start mariadb
------------- SysVinit -------------
# /etc/init.d/mysql stop
# /etc/init.d/mysql start
خلاصه
در این مقاله ما درباره نحوه reset یا recovery کردن پسورد روت MySQL / MariaDB بحث کردیم، مثل همیشه اگر نکته ای بود با ما به اشتراک بگذارید.