MySQL有時候忘記了root密碼是一件傷感的事,這種情況下,如何重置root的密碼呢?
找到并編輯mysql的my.ini配置文件,在mysqld節點中添加上skip-grant-table. 如下:
# These let you safely reset the lost root password.skip-grant-table
保存好修改,重啟mysql服務。
現在就能不需要root密碼的情況下連接上數據庫。然后執行下面的更新:
USE mysql;UPDATE USERSET password = password('yournewpasswordhere')WHERE USER = 'root'AND host = 'localhost';
這樣root密碼就修改好了,這個時候,將my.ini中的skip-grant-table刪除,再重啟mysql service
下面介紹Windows 和 Linux 下的密碼重置方法。
windows:
1.以系統管理員身份登陸系統。
2.打開cmd-----net start 查看mysql是否啟動。啟動的話就停止net stop mysql.
3.我的mysql安裝在d:/usr/local/mysql4/bin下。
4.跳過權限檢查啟動mysql.
d:/usr/local/mysql/bin/mysqld-nt --skip-grant-tables
5.重新打開cmd。進到d:/usr/local/mysql4/bin下:
d:/usr/local/mysql/bin/mysqladmin -u root flush-privileges password "newpassword"
d:/usr/local/mysql/bin/mysqladmin -u root -p shutdown 這句提示你重新輸密碼。
6.在cmd里net start mysql
7.搞定了。
Linux:
MySQL root密碼的恢復方法之一
如果忘記了MySQL root密碼,可以用以下方法重新設置:
1. KILL掉系統里的MySQL進程;
killall -TERM MySQLd
2. 用以下命令啟動MySQL,以不檢查權限的方式啟動;
safe_MySQLd --skip-grant-tables &
3. 然后用空密碼方式使用root用戶登錄 MySQL;
MySQL -u root
4. 修改root用戶的密碼;
MySQL> update MySQL.user set password=PASSWORD('新密碼') where User='root';
MySQL> flush privileges;
MySQL> quit
重新啟動MySQL,就可以使用新密碼登錄了。
MySQLroot密碼的恢復方法二
有可能你的系統沒有 safe_MySQLd 程序(比如我現在用的 ubuntu操作系統, apt-get安裝的MySQL) , 下面方法可以恢復
1. 停止MySQLd;
sudo /etc/init.d/MySQL stop
(您可能有其它的方法,總之停止MySQLd的運行就可以了)
2. 用以下命令啟動MySQL,以不檢查權限的方式啟動;
MySQLd --skip-grant-tables &
3. 然后用空密碼方式使用root用戶登錄 MySQL;
MySQL -u root
4. 修改root用戶的密碼;
MySQL> update MySQL.user set password=PASSWORD('newpassword') where User='root';
MySQL> flush privileges;
MySQL> quit
重新啟動MySQL
/etc/init.d/MySQL restart
就可以使用新密碼 newpassword 登錄了。