這個問題是在Windows下安裝MySQL服務時遇到的,安裝完成後,連接到MySQL服務時輸入命令 “ mysql -uroot -p ” ,因爲時第一次登錄,未設置密碼,直接回車,就遇到了這個問題,錯誤信息如下:
“ ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) ”
如下圖:
解決辦法:
首先需要關閉MySQL服務,輸入命令:
mysql> net stop MySQL
用安全模式開始本地MySQL服務,(注意:以管理員身份啓動cmd窗口),輸入命令 “ mysqld --defaults-file="G:\Install_Applications\mysql-8.0.11\my.ini" --console --skip-grant-tables ” 啓動MySQL服務後,光標會一直停止沒有任何輸出,這兒的話說明MySQL服務已經啓動了。
啓動cmd窗口,輸入命令 “ mysql -uroot -p ” 直接回車登錄到MySQL服務器,然後進行修改,可以輸入命令:
(5.7.11以前) > update user set password=password("123456") where user="root";
(5.7.11 或者以後)> update user set authentication_string=password("123456") where user="root";
在這兒我是用的是:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'HuaZai12345!';
如下圖:
現在退出,在輸入命令 “ mysql -uroot -p ” 在輸入剛纔設置的密碼,就可以正常登錄到MySQL服務器了,如下圖:
ps:如果還不行,可以去mysql 數據庫的user表,查看是不是有一條密碼爲空的數據,把它設置一下root密碼就可以了