MySQL是一個常用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在日常的應(yīng)用中我們經(jīng)常使用到其中的root賬戶進(jìn)行數(shù)據(jù)庫管理。但是有時候我們可能會遇到一些問題,比如說忘記root賬戶的密碼,這會導(dǎo)致我們無法正常登錄數(shù)據(jù)庫,進(jìn)而影響我們的工作。下面我們來看看如何解決這個問題。
如果我們在登錄root賬戶時發(fā)現(xiàn)密碼忘記了,可以先嘗試使用MySQL自帶的reset密碼功能來解決。具體方法如下:
1. 通過命令行登錄MySQL:mysql -u root -p 2. 輸入錯誤密碼,直到出現(xiàn)以下提示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 3. 在命令行輸入以下命令修改密碼:ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; 4. 修改完成后即可使用新密碼登錄root賬戶。
但是有時候我們可能會遇到一些情況,比如說忘記了MySQL的root賬戶的密碼并且無法使用reset密碼功能解決,這時候我們需要采取一些其他的措施。下面列出了兩種可行的方法供大家參考:
1. 重置MySQL中的root賬戶密碼:
1. 停止MySQL服務(wù):sudo service mysql stop 2. 通過以下命令啟動MySQL服務(wù)并跳過授權(quán)檢查:sudo mysqld_safe --skip-grant-tables & 3. 在命令行輸入以下命令修改密碼:UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root' AND Host='localhost'; 4. 刷新權(quán)限:FLUSH PRIVILEGES; 5. 重啟MySQL服務(wù):sudo service mysql restart 6. 使用新密碼登錄root賬戶即可。
2. 重置root賬戶密碼并創(chuàng)建新的管理員賬戶:
1. 停止MySQL服務(wù):sudo service mysql stop 2. 在命令行中輸入以下命令啟動MySQL服務(wù)并跳過授權(quán)檢查:sudo mysqld_safe --skip-grant-tables & 3. 在命令行輸入以下命令修改密碼:UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root' AND Host='localhost'; 4. 刷新權(quán)限:FLUSH PRIVILEGES; 5. 退出MySQL:quit 6. 使用新密碼登錄MySQL,并創(chuàng)建一個新的管理員賬戶例如admin:CREATE USER 'admin'@'localhost' IDENTIFIED BY 'admin_password'; 7. 授予權(quán)限給admin賬戶:GRANT ALL ON *.* TO 'admin'@'localhost' WITH GRANT OPTION; 8. 刷新權(quán)限:FLUSH PRIVILEGES; 9. 重啟MySQL服務(wù):sudo service mysql restart 10. 使用admin賬戶登錄MySQL即可。
通過上述方法,我們就可以成功解決MySQL的root賬戶密碼丟失的問題,并繼續(xù)正常地管理MySQL數(shù)據(jù)庫了。