فکر کنید 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 متصل شد.