1. 程式人生 > >mysql登錄報錯“Access denied for user 'root'@'localhost' (using password: YES”的處理方法

mysql登錄報錯“Access denied for user 'root'@'localhost' (using password: YES”的處理方法

為我 方法 error: top error 告訴 猜想 network grant

最近登錄某臺服務器的mysql時候總報錯:

Access[root@log01 ~]# mysql -u root -p

Enter password:

ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO) denied for user ‘root‘@‘localhost‘ (using password: NO)

我猜想是不是密碼忘記了。。。然後準備修改密碼:

#mysqladmin -u root -p password 123456 ###設置root密碼為123456

Enter password:

mysqladmin: connect to server at ‘localhost‘ failed

error: ‘Access denied for user ‘root‘@‘localhost‘ (using password: YES)‘

依然報這個錯誤。。。蛋疼了,百度一下,最終找到了方法如下:

方法一:

# /etc/init.d/mysqld 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/mysqld restart

# mysql -uroot -p

Enter password: <輸入新設的密碼newpassword>

mysql>

方法二:

直接使用/etc/mysql/debian.cnf文件中[client]節提供的用戶名和密碼:

# mysql -udebian-sys-maint -p

Enter password: <輸入[client]節的密碼>

mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;

mysql> FLUSH PRIVILEGES;

mysql> quit

# mysql -uroot -p

Enter password: <輸入新設的密碼newpassword>

mysql>

方法三:

這種方法我沒有進行過測試,因為我的root用戶默認密碼已經被我修改過了,那位有空測試一下,把結果告訴我,謝謝!

# mysql -uroot -p

Enter password: <輸入/etc/mysql/debian.cnf文件中[client]節提供的密碼>

至此,困惑多時的問題解決了!

mysql登錄報錯“Access denied for user 'root'@'localhost' (using password: YES”的處理方法