ERROR 1045 (28000): Access denied for user

eymit發表於2016-06-06
mysqladmin本地登陸報錯 ERROR 1045 (28000): Access denied for user 'root'@'localhost' 的解決方案如下:

mysqladmin -u root password xxxx


#1.停止mysql資料庫
/etc/init.d/mysql stop 
#2.執行如下命令
mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 
#3.使用root登入mysql資料庫
mysql -u root mysql 
#4.更新root密碼
mysql> UPDATE user SET Password=PASSWORD('mysql') where USER='root';
mysql>grant all on *.* to root@'%' identified by "mysql";
#5.重新整理許可權 
mysql> FLUSH PRIVILEGES; 
#6.退出mysql
mysql> quit 
#7.重啟mysql
/etc/init.d/mysql restart 
#8.使用root使用者重新登入mysql
mysql -uroot -p 
Enter password: <輸入新設的密碼newpassword>






操作日誌如下:
[root@mysqldb1 ~]# /etc/init.d/mysql stop
Shutting down MySQL..[  OK  ]
[root@mysqldb1 ~]# 
[root@mysqldb1 ~]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 
[1] 7384
[root@mysqldb1 ~]# 160606 15:23:44 mysqld_safe Logging to '/var/lib/mysql/mysqldb1.err'.
160606 15:23:44 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql


[root@mysqldb1 ~]# mysql -u root mysql 
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A


Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.31 MySQL Community Server (GPL)


Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.


Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> UPDATE user SET Password=PASSWORD('xxxxx') where USER='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4  Changed: 4  Warnings: 0

mysql> grant all on *.* to root@'%' identified by "xxxxxx";
Query OK, 0 rows affected (0.00 sec)
 
mysql> FLUSH PRIVILEGES; 
Query OK, 0 rows affected (0.00 sec)


mysql> quit
Bye

[root@mysqldb1 ~]# /etc/init.d/mysql restart 
Shutting down MySQL..160606 15:25:46 mysqld_safe mysqld from pid file /var/lib/mysql/mysqldb1.pid ended
[  OK  ]
Starting MySQL.[  OK  ]
[1]+  Done                    mysqld_safe --user=mysql --skip-grant-tables --skip-networking
[root@mysqldb1 ~]# mysql -uroot -p 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.31


Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.


Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> 
mysql> 



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21605631/viewspace-2114920/,如需轉載,請註明出處,否則將追究法律責任。

相關文章