本人機(jī)器環(huán)境:
Windows 2008 R2
MySQL 5.6
以“Window下忘記Mysql的root密碼”百度,找到一大堆解決方案。大多大同小異,比較經(jīng)典的是百度文庫(kù)上的一篇【1】,圖文并茂,條理也比較清晰。立刻按照這篇文章描述的操作。
具體操作如下:
以下步驟如果添加了MySQL的環(huán)境變量,則可以直接運(yùn)行mysql有關(guān)命令,否則必須到mysql安裝目錄的bin目錄下操作。
步驟如下:
1.停止mysql服務(wù)(以管理員身份,在cmd命令行下運(yùn)行) net stop mysql
2.使用 mysqld –skip-grant-tables 命令啟動(dòng)mysql數(shù)據(jù)庫(kù)
D:\>net stop mysql MySQL 服務(wù)正在停止. MySQL 服務(wù)已成功停止。
D:\>mysqld --skip-grant-tables
3.不關(guān)閉以上窗口,新開(kāi)一個(gè)cmd窗口,輸入mysql -u root,直接按回車(chē)鍵
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';
密碼可以自己隨便寫(xiě)。
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.打開(kāi)任務(wù)管理器,停止mysql,mysqld進(jìn)程,使用net start mysql啟動(dòng)mysqld服務(wù),就可以使用root用戶(hù) root密碼進(jìn)入數(shù)據(jù)庫(kù)了
mysql -u root -p aaa
補(bǔ)充說(shuō)明:
1.mysqld使用說(shuō)明可以使用如下命令獲取查看:
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,而且可以修改任何表。
本人實(shí)踐,用mysqld --skip-grant-tables啟動(dòng)mysql,mysql -u root -p空密碼可以登錄,修改密碼也會(huì)提示成功,但是正常啟動(dòng)mysql時(shí),用新的密碼依舊無(wú)法登錄。本人想到既然在中文網(wǎng)站無(wú)法找到答案,嘗試上國(guó)外的網(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
如果以服務(wù)的方式運(yùn)行,在服務(wù)管理工具停止mysql服務(wù)?;蛘咴诳刂婆_(tái)運(yùn)行如下命令。
net stop mysql56
如果沒(méi)有以服務(wù)方式運(yùn)行,在任務(wù)管理器里終止mysqld進(jìn)程。
(2)創(chuàng)建一個(gè)文本文件寫(xiě)入如下內(nèi)容。MyNewPass是新的密碼
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
(3)保存為c:\init.txt
(4)在控制臺(tái)窗口執(zhí)行如下命令
mysqld --init-file=C:\\init.ini
注意:
1)如果添加了MySQL的環(huán)境變量,則可以直接運(yù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ù)可以從服務(wù)管理獲得:開(kāi)始》控制面板》管理工具》服務(wù),找到MySql服務(wù),單擊右鍵,選擇屬性選項(xiàng)卡,“執(zhí)行路徑”包含--defaults-file參數(shù)。
(5)系統(tǒng)啟動(dòng)成功后,關(guān)閉Mysql,刪掉init.ini文件即可。
參考文獻(xiàn):
[1]http://wenku.baidu.com/view/5c0d2164e55c3b3567ec102de2bd960590c6d9c0
[2]https://dev.mysql.com/doc/refman/5.6/en/resetting-permissions.html