سلام...؛
فکر کنید sysadmin از شرکت بره و کسی نباشه که رمز های سرویس ها رو بدونه..... آقا نخند، برای شما جوکه برای ما خاطره است (^_^)
خب حالا با mysql هم کار داریم و پسورد root اش رو نمیدونیم....
Reset Mysel Root Password: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
کار خیلی راحتیه... اول سرویس رو میاریم پایین:
#service mysqld stop
بعدش سرویس رو مستقیما با پارامترهای دلخواهمون بالا میاریم:
#/bin/mysqld_safe --skip-grant-tables --skip-networking
پارامتر اولی (--skip-grant-tables)باعث میشه که هنگام connect شدن به سرور mysql از ما نام کاربری و رمز عبور رو نخواد..... پارامتر دومی هم (--skip-networking) باعث میشه که به هیچ درخواست connect شدنی که از روی شبکه برای mysqld میاد بهش پاسخ نده... به قولی اصلا روی شبکه کار نکنه و فقط به localhost جواب بده ( از اون جایی که --skip-grant-tables کردیم این کار ضروریه تا هر کسی نتونه از روی شبکه وارد mysqld بشه؛ از اونجایی که در این حالت به هیچ وجه دسترسی‌های یک کاربر رو چک نمیکنه، هر کسی میتونه هر دستوری رو اجرا... مثلا تغییر رمز همه‌ی کاربرها یا پاک کردن تمام db ها ).
اما بعد با mysql-client به mysqld متصل میشیم و password رو reset میکنیم:
#mysql
> UPDATE mysql.user SET Password=PASSWORD('MyNewPass')  WHERE User='root';
> FLUSH PRIVILEGES;
> \q
خب تمام شد... حالا باید mysqld رو restart کنیم(kill و start):
#killall mysqld_safe
#service mysqld start
حالا دیگه میشه با رمز جدید به mysqld متصل شد.