MySQL有時(shí)候忘記了root密碼是一件傷感的事,這種情況下,如何重置root的密碼呢?
找到并編輯mysql的my.ini配置文件,在mysqld節(jié)點(diǎn)中添加上skip-grant-table. 如下:
| # These let you safely reset the lost root password.skip-grant-table |
保存好修改,重啟mysql服務(wù)。
現(xiàn)在就能不需要root密碼的情況下連接上數(shù)據(jù)庫(kù)。然后執(zhí)行下面的更新:
| USE mysql;UPDATE USERSET password = password('yournewpasswordhere')WHERE USER = 'root'AND host = 'localhost'; |
這樣root密碼就修改好了,這個(gè)時(shí)候,將my.ini中的skip-grant-table刪除,再重啟mysql service
下面介紹Windows 和 Linux 下的密碼重置方法。
windows:
1.以系統(tǒng)管理員身份登陸系統(tǒng)。
2.打開(kāi)cmd-----net start 查看mysql是否啟動(dòng)。啟動(dòng)的話就停止net stop mysql.
3.我的mysql安裝在d:/usr/local/mysql4/bin下。
4.跳過(guò)權(quán)限檢查啟動(dòng)mysql.
d:/usr/local/mysql/bin/mysqld-nt --skip-grant-tables
5.重新打開(kāi)cmd。進(jìn)到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密碼的恢復(fù)方法之一
如果忘記了MySQL root密碼,可以用以下方法重新設(shè)置:
1. KILL掉系統(tǒng)里的MySQL進(jìn)程;
killall -TERM MySQLd
2. 用以下命令啟動(dòng)MySQL,以不檢查權(quán)限的方式啟動(dòng);
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
重新啟動(dòng)MySQL,就可以使用新密碼登錄了。
MySQLroot密碼的恢復(fù)方法二
有可能你的系統(tǒng)沒(méi)有 safe_MySQLd 程序(比如我現(xiàn)在用的 ubuntu操作系統(tǒng), apt-get安裝的MySQL) , 下面方法可以恢復(fù)
1. 停止MySQLd;
sudo /etc/init.d/MySQL stop
(您可能有其它的方法,總之停止MySQLd的運(yùn)行就可以了)
2. 用以下命令啟動(dòng)MySQL,以不檢查權(quán)限的方式啟動(dòng);
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
重新啟動(dòng)MySQL
/etc/init.d/MySQL restart
就可以使用新密碼 newpassword 登錄了。
新聞熱點(diǎn)
疑難解答
圖片精選