Ubuntu 系統修改root密碼後,無需密碼亦可登入
阿新 • • 發佈:2020-12-23
問題描述: 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;