在使用MySQL時遇到了一個問題,就是MySQL服務啟動了卻不能登錄,提示密碼錯誤。
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
排查原因后發現,是修改了MySQL的root密碼導致的。之前是使用默認密碼登錄,但是為了安全起見,決定修改密碼。
但是在修改密碼之后,登錄時無法登錄,經過一番搜索和嘗試,發現解決辦法如下:
1. 停止MySQL服務
sudo service mysql stop
2. 以skip-grant-tables參數啟動MySQL服務
sudo mysqld_safe --skip-grant-tables &
3. 以不輸入密碼的方式登錄MySQL
mysql -u root
4. 切換到mysql庫,更新root用戶的密碼
use mysql; update user set authentication_string=password('你的新密碼') where user='root'; flush privileges; quit;
5. 重啟MySQL服務
sudo service mysql restart
這樣,MySQL服務就可以正常登錄了。但是需要注意的是,修改root用戶的密碼需要謹慎,避免誤操作導致無法登錄。