本人機器環(huán)境:
Windows 2008 R2
MySQL 5.6
以“Window下忘記Mysql的root密碼”百度,找到一大堆解決方案。大多大同小異,比較經(jīng)典的是百度文庫上的一篇【1】,圖文并茂,條理也比較清晰。立刻按照這篇文章描述的操作。
具體操作如下:
以下步驟如果添加了MySQL的環(huán)境變量,則可以直接運行mysql有關(guān)命令,否則必須到mysql安裝目錄的bin目錄下操作。
步驟如下:
1.停止mysql服務(以管理員身份,在cmd命令行下運行) net stop mysql
2.使用 mysqld –skip-grant-tables 命令啟動mysql數(shù)據(jù)庫
D:\>net stop mysql MySQL 服務正在停止. MySQL 服務已成功停止。
D:\>mysqld --skip-grant-tables
3.不關(guān)閉以上窗口,新開一個cmd窗口,輸入mysql -u root,直接按回車鍵
D:\>mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.26-rc-community MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> update mysql.user set password=password('aaa') where user='root';
密碼可以自己隨便寫。
Query OK, 1 row affected (0.02 sec) Rows matched: 2 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec) mysql>
4.打開任務管理器,停止mysql,mysqld進程,使用net start mysql啟動mysqld服務,就可以使用root用戶 root密碼進入數(shù)據(jù)庫了
mysql -u root -p aaa
補充說明:
1.mysqld使用說明可以使用如下命令獲取查看:
mysqld --verbose --help > d:\mysqld_help.txt
幫助中–skip-grant-tables的幫助為:
--skip-grant-tables Start without grant tables. This gives all users FULL ACCESS to all tables!
所以我們可以使用mysql -uroot而不用密碼直接登陸mysql,而且可以修改任何表。
本人實踐,用mysqld --skip-grant-tables啟動mysql,mysql -u root -p空密碼可以登錄,修改密碼也會提示成功,但是正常啟動mysql時,用新的密碼依舊無法登錄。本人想到既然在中文網(wǎng)站無法找到答案,嘗試上國外的網(wǎng)站尋求答案。于是以mysql 5.6 forget root password為關(guān)鍵字搜索,在mysql.com上的一篇文檔”B.5.3.2 How to Reset the Root Password“【2】找到了答案。
具體操作步驟如下:
(1)停止mysql
如果以服務的方式運行,在服務管理工具停止mysql服務?;蛘咴诳刂婆_運行如下命令。
net stop mysql56
如果沒有以服務方式運行,在任務管理器里終止mysqld進程。
(2)創(chuàng)建一個文本文件寫入如下內(nèi)容。MyNewPass是新的密碼
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
(3)保存為c:\init.txt
(4)在控制臺窗口執(zhí)行如下命令
mysqld --init-file=C:\\init.ini
注意:
1)如果添加了MySQL的環(huán)境變量,則可以直接運行mysql有關(guān)命令,否則必須到mysql安裝目錄的bin目錄下操作
2)如果你是用Mysql安裝向?qū)О惭b的Mysql,則需要添加 --defaults-file參數(shù),命令如下:
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" --init-file=C:\\init.ini
--defaults-file參數(shù)可以從服務管理獲得:開始》控制面板》管理工具》服務,找到MySql服務,單擊右鍵,選擇屬性選項卡,“執(zhí)行路徑”包含--defaults-file參數(shù)。
(5)系統(tǒng)啟動成功后,關(guān)閉Mysql,刪掉init.ini文件即可。
參考文獻:
[1]http://wenku.baidu.com/view/5c0d2164e55c3b3567ec102de2bd960590c6d9c0
[2]https://dev.mysql.com/doc/refman/5.6/en/resetting-permissions.html