ERROR 1698 (28000): Access denied for user 'root'@'localhost' 錯誤的解決辦法


復制代碼
$ sudo mysql -u root 

mysql> USE mysql; mysql> SELECT User, Host, plugin FROM mysql.user; +------------------+-----------------------+ | User | plugin | +------------------+-----------------------+ | root | auth_socket | | mysql.sys | mysql_native_password | | debian-sys-maint | mysql_native_password | +------------------+-----------------------+
復制代碼

正如您在查詢中看到的,根用戶正在使用auth_socket插件

有兩種方法可以解決這個問題:

1,可以將根用戶設置為使用mysql_native_password插件
2,您可以用您的系統用戶創建一個新的數據庫用戶(推薦)

方法一:

復制代碼
$ sudo mysql -u root #使用sudo 進入mysql,執行下面語句。  mysql> USE mysql; mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root'; mysql> FLUSH PRIVILEGES; mysql> exit; $ service mysql restart
復制代碼

方法二:(用你自己的用戶名替換系統用戶)

復制代碼
$ sudo mysql -u root 

mysql> USE mysql; mysql> CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED BY ''; mysql> GRANT ALL PRIVILEGES ON *.* TO 'YOUR_SYSTEM_USER'@'localhost'; mysql> UPDATE user SET plugin='auth_socket' WHERE User='YOUR_SYSTEM_USER'; mysql> FLUSH PRIVILEGES; mysql> exit; $ service mysql restart
復制代碼

 原創鏈接:https://www.cnblogs.com/sly27/p/10821745.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM