簡體   English   中英

防止 MySQL 在沒有用戶或密碼的情況下登錄

[英]Prevent MySQL login with no user or password

我像這樣安裝了 MySQL:

sudo apt install mysql-server -y && mysql_secure_installation;

並做了以下

CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'user'@'localhost';
FLUSH PRIVILEGES;

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
FLUSH PRIVILEGES;

但是,我仍然可以通過以下方式訪問 MySQL:

sudo mysql

我不明白它是如何在沒有用戶或密碼的情況下進行訪問的……我該如何防止這種情況發生?

當您運行sudo mysql命令通過 auth socket 進行身份驗證時,您可以使用下面的查詢檢查使用的身份驗證。

mysql> SELECT plugin from mysql.user where User='root';

如果您想禁用它並使用本機身份驗證,請運行此查詢。

mysql> UPDATE mysql.user SET plugin = 'mysql_native_password', authentication_string = PASSWORD('changeme') WHERE User = 'root';
mysql> FLUSH PRIVILEGES;

如果您需要更多信息,可以閱讀有關 auth socket 的文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM