我在我的 ubuntu 20.04 EC2 實體中安裝了 MySQL 服務器 8.0,并且還使用$ sudo mysql_secure_installation我為 root 用戶設定密碼的位置進行了安全安裝。我還禁用了通過匿名用戶登錄 MySQL。
我$ sudo mysql -u root -p以前登錄 MySQL 時使用了錯誤的密碼來確認是否啟用了正確的密碼,并且令人驚訝地能夠登錄。
此外,我只需使用$ sudo mysql.
在此之后,我嘗試在 MySQL 中使用ALTER USER 'root'@'localhost' IDENTIFIED BY 'PASSWORD';后跟設定密碼FLUSH PRIVILEGES;,但得到的結果與以前相同。
我還嘗試直接使用修改用戶表,UPDATE mysql.user SET authentication_string=PASSWORD('NEW_USER_PASSWORD') WHERE User='root' AND Host='localhost';但遇到語法錯誤:-
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right s
yntax to use near '('NEW_USER_PASSWORD') WHERE User='root' AND Host='localhost'' at line 1
編輯:mysql.user表之前,我改變了認證從root用戶的插件auth_socket來caching_sha2_password。
----------- ------------------ -----------------------
| host | user | plugin |
----------- ------------------ -----------------------
| localhost | debian-sys-maint | caching_sha2_password |
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session | caching_sha2_password |
| localhost | mysql.sys | caching_sha2_password |
| localhost | root | auth_socket |
----------- ------------------ -----------------------
如何解決這些問題并為 root 用戶設定密碼?
uj5u.com熱心網友回復:
在 MySQL 8.0 中,caching_sha2_password 是默認的身份驗證插件,而不是mysql_native_password
您可以更改 root 密碼,如下所示:
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'your_pass';
-- If first fail because you have changed default authentication plugin you can use mysql_native_password
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_pass';
FLUSH PRIVILEGES;
uj5u.com熱心網友回復:
Mysql 將允許(作業系統)root 用戶在沒有密碼的情況下登錄,其原則是如果您是 root,則無論如何您都可以訪問資料。如果要測驗非 root 用戶登錄,請不要使用 sudo。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/407540.html
標籤:
上一篇:SpringBoot-使用.sql腳本初始化mysql失敗
下一篇:MySQL查詢性能
