剛安裝完成的 MySQL:
test、test_% 資料庫完全權限。localhost 或真實主機名均通行無阻。方式 A:mysqladmin(MySQL 3.22+)
mysqladmin -u root password 'StrongPass123'
方式 B:直接更新 user 表(通用)
mysql -u root mysql
UPDATE user SET Password = PASSWORD('StrongPass123') WHERE User = 'root';
FLUSH PRIVILEGES;
mysqladmin -u root status
# 若仍可無密登入,執行:
mysqladmin -u root reload
之後所有 root 連線必須帶密碼。
DELETE FROM mysql.user WHERE User = '';
DROP DATABASE test;
DELETE FROM mysql.db WHERE Db LIKE 'test%';
FLUSH PRIVILEGES;
UPDATE mysql.user SET Host = 'localhost' WHERE User = 'root' AND Host = '%';
FLUSH PRIVILEGES;
skip-name-resolve 避免 DNS 解析延遲與偽造。bind-address=127.0.0.1 或防火牆限制 3306 埠存取來源。mysql_secure_installation(官方腳本)自動完成上述動作。安全無小事,上線前務必完成「設密、收權、清匿、限網」四步驟。