本來mysql運行得好好的,修改了一次root密碼,貌似沒成功,當時也沒在意,mysql也沒出問題。到了第二天,啟動時報了這個錯誤“access denied for user 'root'@'localhost' using password yes”。網上解決的方法很多,試了幾個都不行,下面就貼出自己實踐成功後的方法,
以下內容根據論壇“http://topic.csdn.net/u/20090515/21/2b3c9a12-d8a5-4bb1-9895-6069cef5aef8.html”整理,使得解決方法有個更清晰的步驟。
1.首先進入windows命令行模式,本人的mysql安裝在C盤,切換到mysql bin目錄下。命令格式如下。
C代碼 www.2cto.com
cd C:\program files\mysql\mysql server 5.1\bin
2.停止mysql的服務,敲入下面命令:
C代碼
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqld --defaults-file="C:\Program
Files\MySQL\MySQL Server 5.1\my.ini" --console --skip-grant-tables
看到如下結果就說明啟動成功了
C代碼
Version: '5.1.33-community-log' socket: '' port: 3306 MySQL Community Server
(GPL)
3.再打開一個dos窗口,同樣切換到bin目錄下
C代碼
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -uroot mysql
顯示結果如下:
C代碼
Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 2
Server version: 5.1.33-community-log MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
4.繼續下面這個步驟,輸入:
C代碼 www.2cto.com
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <輸入新設的密碼newpassword>
mysql>
到此為止,成功更新了密碼。
作者 dsea