همانطور که میدانیم روی سرویس MySQL ممکن است کاربران زیادی وجود داشته باشند که اصلیترین کاربر که حتی کنترل پنلها با استفاده از آن کاربر مبادرت به ایجاد ارتباط با MySQL میکنند، root است. این حساب کاربری جدای از کاربر اصلی سرور لینوکس است. پس ممکن است رمز عبور آن فرق داشته باشد. در مواقعی که نیاز به تغییر این رمز عبور از طریق خط فرمان لینوکس احساس شود، باید دست به کار شوید و از دستورات زیر استفاده کنید.
ابتدا سرویس MySQL را متوقف میکنیم:
/etc/init.d/mysql stop
یا از دستورات systemd استفاده میکنیم:
systemctl stop mysqld
حالا با حساب کاربر ریشه وارد MySQL میشویم. وارد خط فرمان mysql خواهیم شد. دستور زیر را برای ورود به دیتابیس mysql اجرا میکنیم:
use mysql;
حالا دستور زیر برای تغییر رمز عبور کاربر ریشه پایگاه داده:
update user set password=PASSWORD('yourpasswordhere') where User='root';
به جای yourpasswordhere رمز عبور جدید را جایگزین میکنیم. یا حتی میتوانید به صورت خالی اجرا کنید تا هیچ رمز عبوری برای کاربر ریشه تنظیم نگردد.
دسترسیها را بازنویسی میکنیم:
flush privileges;
و حالا از mysql خارج میشویم:
quit:
کار تمام است. اگر از کنترل پنلی مثل WHM روی سرور لینوکس خود استفاده میکنید، از بخش SQL Services > MySQL Root Password به راحتی میتوانید این کار را انجام دهید. البته به شرطی که از قبل مشکلی روی سرویس MySQL سرور شما وجود نداشته باشد.
نکته: دقت داشته باشید که برخی از اوقات به دلیل اینکه سرویس MySQL کرش کرده یا اینکه رمز عبور روت به طور کامل گم شده است، باید از حالت mysqld_safe برای ورود به MySQL و تغییر رمز عبور استفاده کنیم. این در حالی است که در روش توضیح داده شده در این مقاله، فرض شده شما به رمز عبور قبلی دسترسی دارید. یا اینکه هیچ رمز عبوری از قبل روی این کاربر وجود ندارد.