چگونه می توان رمز عبور کاربری root را در MySQL بازنشانی نمود؟

برای بازیابی کلمه عبور  مرتبط با اکانت root  در mysql server   طبق راهنمای زیر اقدام نمایید:

 
1.به ویندوز سرور با نام کاربری administrator  لاگین نمایید .
2.اگر mysql server  در حال اجرا میباشد آن را stop  نموده ، در صورتی که mysql   در service ها در حال اجرا میباشد ، به service manager  رفته، بر روی منوی start  کلیک نموده ، control panel را انتخاب نمایید ، سپس administrative tools و بعد از آن services را انتخاب نمایید ، در لیستی که مشاهده میکنید mysql را پیدا نموده و آن را stop نمایید . اگر mysql server شما به عنوان service اجرا نمیگردد میتوانید از ابزار task manager برای force stop نمودن آن استفاده نمایید .
3.فایلی از نوع .txt  با محتوای زیر ایجاد نمایید و عبارت password را با پسورد مورد نظر خود جایگزین نمایید :
 
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
FLUSH PRIVILEGES;
 
حتما عبارات  UPDATE و FLUSH را در دو خط جداگانه قرار دهید ، دستور UPDATE پسورد تمامی اکانتهای root را ریست میکند و دستور FLUSH باعث reload شدن table ها در memory گردیده و سبب اطلاع رسانی به سرور در ارتباط با تغییر پسورد میگردد.
4.فایل مذکور را ذخیره نمایید ، در این مثال نام فایل C:\mysql-init.txt میباشد .
5.پنجره  cmd را باز نمایید  ، بر روی منوی start کلیک نموده ، run را انتخاب نمایید و سپس عبارت cmd را در run وارد نموده و کلید enter را فشار دهید.
6.mysql server را با سوییچ   --init-file استارت نمایید :
 

C:\> C:\mysql\bin\mysqld-nt --init-file=C:\\mysql-init.txt
 
اگر mysql را در مسیری غیر از مسیر پیشفرض  C:\mysql نصب نموده اید ، command بالا را با توجه به مسیر مربوطه تغییر دهید.
سرور محتویات فایل --init-file  را اجرا نموده و پسورد همه ی اکانتهای root  را ریست میکند .
اگر mysql را از طریق mysql installation wizard نصب نموده اید ، نیاز به اجرای سوییچ --defaults-file  در command زیر میباشد:

C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe"

         --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.0\\my.ini"

         --init-file=C:\\mysql-init.txt
 
تنظیمات صحیح مرتبط با --defaults-file  در service manager قابل مشاهده میباشد ، بر روی منوی start  کلیک نموده ، control panel را انتخاب نمایید ، سپس administrative tools و بعد از آن services را انتخاب نمایید ، سرویس mysql را در این لیست پیدا نموده ، بر روی آن کلیک راست نمایید و properties را انتخاب نمایید ، فیلد  Path to executable  شامل تنظیمات  --defaults-file  میباشد .
7.پس از start  شدن بدون مشکل سرویس ، فایل C:\mysql-init.txt  را حذف نمایید.
هم اکنون باید قادر به لاگین به دیتابیس سرور با یوزر root و با پسورد مورد نظر خود باشید.سرویس mysql را stop نموده و start نمایید.اگر در بخش services سرور mysql فعال میگردد از آنجا نسبت به start نمودن سرویس اقدام نمایید و در صورتیکه همیشه به صورت دستی سرور را start  میکنید از همان command همیشگی خود جهت start دوباره mysql server استفاده نمایید.
 

لاگ فرایند ریست پسوورد در پوشه دیتا قابل مشاهده است.