首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 全新安裝後的安全初始化清單:從 root 密碼到權限收斂

     編輯:MySQL 資料庫相關知識

預設不安全狀態

剛安裝完成的 MySQL:

  • root 無密碼,擁有所有權限(含 SHUTDOWN、FILE 等高危權限)。
  • 匿名用戶可登入,擁有 test、test_% 資料庫完全權限。
  • 本機連線不論用 localhost 或真實主機名均通行無阻。

核心加固步驟

1. 設定 root 密碼(兩種方式)

方式 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;

2. 驗證與重載權限

mysqladmin -u root status
# 若仍可無密登入,執行:
mysqladmin -u root reload

之後所有 root 連線必須帶密碼。

3. 清理匿名帳號與測試庫(建議)

DELETE FROM mysql.user WHERE User = '';
DROP DATABASE test;
DELETE FROM mysql.db WHERE Db LIKE 'test%';
FLUSH PRIVILEGES;

4. 限制 root 遠端登入

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(官方腳本)自動完成上述動作。

安全無小事,上線前務必完成「設密、收權、清匿、限網」四步驟。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved