1. 程式人生 > 實用技巧 >Ubuntu 系統修改root密碼後,無需密碼亦可登入

Ubuntu 系統修改root密碼後,無需密碼亦可登入

問題描述: Ubuntu 系統修改root密碼後,無需密碼亦可登入
作業系統: Ubuntu
MySQL版本:5.7
MySQL 賬號 root@'localhost' 無法修改密碼,即使修改了密碼, mysql.user 中authentication_string 列也為空。
並且登入時候空密碼,或者任意輸入密碼也能登入。

問題排查:
(1)排查一:
skip-grant-tables 引數沒有使用。

(2)排查二:
SELECT `host`,`user`,`plugin` FROM mysql.user WHERE `user`='root' AND `host`='localhost
'; 返回結果為: auth_socket 結果分析: 關於密碼驗證外掛 auth_socket: 1.這種驗證方式不要求輸入密碼,即使輸入了密碼也不驗證。 2.只能用 UNIX 的 socket 方式登陸,只能本地登陸。 3.作業系統的使用者和 MySQL 資料庫的使用者名稱必須一致,例如你要登陸 MySQL 的 root 使用者,必須用作業系統的 root 使用者登陸。 解決辦法: 需要將該值修改為 mysql.user WHERE `user`='root' AND `host`='localhost' 中的 `plugin` 列修改為: 'mysql_native_password
' 執行語句: use mysql; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Jimstars'; flush privileges;