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

MySQL 新安裝安全初始化:Root 密碼設置、匿名用戶清理、權限表刷新

     編輯:MySQL 資料庫相關知識

MySQL 全新安裝後必執行的 3 步安全初始化

默認安裝極不安全:root 無密碼、匿名用戶可訪問 test 库。上線前必須完成「設密、清匿、刷新」三步走。

初始權限現狀(mysql.user 表)

步驟 1:為 root 設置強密碼

方法 A:mysqladmin(推薦,5.7+ 自動刷新)

mysqladmin -u root password 'StrongP@ssw0rd!'

方法 B:SQL 直改(兼容舊版)

mysql -u root mysql
UPDATE user SET authentication_string=PASSWORD('StrongP@ssw0rd!') WHERE User='root';
FLUSH PRIVILEGES;

注意:5.7+ 密碼列為 authentication_string,5.6 為 Password。PASSWORD() 8.0 棄用,建議用 ALTER USER 'root'@'localhost' IDENTIFIED BY '...';。

步驟 2:清理匿名用戶與測試庫

DELETE FROM mysql.user WHERE User='';
DROP DATABASE IF EXISTS test;
DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%';
FLUSH PRIVILEGES;

步驟 3:驗證生效

# 應提示密碼錯誤
mysql -u root
# 應成功
mysql -u root -p'StrongP@ssw0rd!'
# 匿名連接應失敗
mysql -u '' -p''

一鍵安全腳本(mysql_secure_installation)

官方提供交互式腳本,自動完成上述所有操作:

mysql_secure_installation
# 按提示:設 root 密碼 → 移除匿名 → 禁止 root 遠程登錄 → 移除 test 庫 → 刷新權限

**生產環境建議直接運行此腳本**,並保存輸出日志備查。

Windows 特殊說明

  • 配置文件為 my.ini(C:\Windows\ 或安裝目錄)。
  • winmysqladmin.exe 會將 my.cnf 重命名為 mycnf.bak 並生成 my.ini。
  • 服務啟動讀取 my.ini,請統一在此文件維護配置。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
用戶Host密碼權限風險
rootlocalhost空全權限任意本地用戶可成超管
匿名localhost空test.* / test_%.*任意本地用戶可讀寫測試庫