一、前言
本帖方法只適用於普通用戶無法登錄,但管理員用戶可以登錄的情況。
今天將war包放入linux后,運行報錯,經過檢查發現是數據庫連接不上。奇怪的是,用戶名和密碼都是正確的,所以有了以下發現。
二、解決問題
如果遇到普通用戶無法登錄,但root用戶可以登錄的情況下,進行如下操作。通過root賬戶,輸入用戶名密碼后登入mysql。
use mysql;
select user,host,plugin from user;
如果發現root的plugin顯示的是unix_socket,說明本方法有效,如果不是,再去百度吧。接下來輸入語句。
update user set authentication_string=PASSWORD('root'),plugin='mysql_native_password' where user='root';
語句一定要有authentication_string=PASSWORD('root'),否則root的密碼會置空,下次登錄就得無密碼登錄。執行如下命令:
flush privileges;
service mysql stop;
service mysql start;
切換到普通用戶測試。
如果不知道root密碼,請查看這里