MySQL 初始化會自動創建:
root@localhost(超級用戶)''@localhost(匿名用戶,無密碼)風險:匿名用戶在 localhost 擁有近乎 root 的權限。攻擊者上傳 Webshell 後,可利用匿名用戶直連數據庫,創建高權限賬號,進而接管整個 MySQL 實例。
-- 1. 為匿名用戶設置強密碼(或直接刪除,見下)
UPDATE mysql.user SET password=PASSWORD('StrongP@ssw0rd!') WHERE user='';
FLUSH PRIVILEGES;
-- 2. 徹底刪除匿名用戶(推薦)
DROP USER ''@'localhost';
DROP USER ''@'127.0.0.1';
DROP USER ''@'::1';
FLUSH PRIVILEGES;
SELECT user, host FROM mysql.user;
-- 應不再出現 user='' 的行
localhost/127.0.0.1 登入SELECT/INSERT/UPDATE/DELETEskip_name_resolve 避免 DNS 劫持max_user_connections 限制單用戶連接數