如果在使用MySQL時(shí),明明輸入的密碼是正確的,但是卻無法正常登錄的話,可能需要進(jìn)行一些排查。
首先,我們可以嘗試使用命令登錄MySQL,看是否能夠成功。在命令行中輸入以下命令:
mysql -u 用戶名 -p
其中,用戶名填寫我們登錄時(shí)使用的用戶名,接著輸入密碼,如果能夠登錄成功,那么就說明密碼是沒有問題的。
如果使用命令行登錄也無法成功,那么可能是賬戶被鎖定了。可以通過以下命令查看:
SELECT User,Host,plugin FROM mysql.user;
其中,User代表用戶名,Host代表主機(jī)名,plugin代表所使用的用戶驗(yàn)證插件。如果某個賬戶的plugin字段的值是“auth_socket”,那么就說明該賬戶被鎖定了。
如果確實(shí)是賬戶被鎖定了,我們可以通過以下命令解鎖:
ALTER USER '用戶名'@'主機(jī)名' IDENTIFIED WITH mysql_native_password BY '新密碼';
其中,用戶名和主機(jī)名填寫相應(yīng)的信息,新密碼填寫一個新的密碼即可。
最后,還有一種可能是MySQL的密碼加密方式發(fā)生改變了。如果以前是使用了mysql_native_password的方式,而現(xiàn)在默認(rèn)使用了caching_sha2_password,那么就需要進(jìn)行一些修改。我們可以在my.cnf文件中添加以下語句:
default-authentication-plugin=mysql_native_password
然后重啟MySQL服務(wù),這樣就可以使用之前的密碼進(jìn)行登錄了。