1. 程式人生 > >mysql5.7 ERROR 1045 (28000): Access denied for user解決方法

mysql5.7 ERROR 1045 (28000): Access denied for user解決方法

1.問題情況(Windows環境)


2.解決辦法

將mysql的配置檔案my-default.ini修改為my.ini(),開啟my.ini檔案在[mysqld]這個條目下加入
  skip-grant-tables
儲存退出後重啟mysql,並且重新安裝mysql.  如下所示:


這時候在cmd裡面輸入mysql -u root -p就可以不用密碼登入了,出現password:

的時候直接回車可以進入,不會出現ERROR 1045 (28000),但很多操作都會受限制。用下面的方法可以恢復正常:

1.進入mysql資料庫:

mysql> use mysql;
Database changed

2.給root使用者設定新密碼,藍色部分自己輸入:(這裡的password欄位已經在5.7之中修改為了authentication_string)


mysql> update user set authentication_string=password("新密碼") where user="root";
Query OK, 1 rows affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

3.重新整理資料庫
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

4.退出mysql:
mysql> quit
Bye


之後,再修改一下my.ini這個檔案,刪除剛加入的"skip-grant-tables",儲存退出再重啟mysql,OK。

解決參考:http://blog.sina.com.cn/s/blog_759a5a7c01017dj0.html