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

MySQL root 密碼初始化與授權表重載完整流程(Unix/Windows)

     編輯:MySQL 資料庫相關知識

初始狀態風險

全新安裝後:

  • root 可無密碼從 localhost 登入,擁有所有權限。
  • 匿名用戶可存取 test 庫及 test_% 庫。
  • 任何本機用戶均可連線(localhost 或真實主機名)。

Unix/Linux 初始化流程

  1. 執行腳本建立授權表:mysql_install_db(僅首次)。
  2. 啟動服務:mysqld_safe &。
  3. 設定 root 密碼(兩種方式擇一):

方式 A:mysqladmin(推薦,3.22+)

mysqladmin -u root password 'NewPass'

方式 B:直接更新 user 表(通用)

mysql -u root mysql
UPDATE user SET Password=PASSWORD('NewPass') WHERE User='root';
FLUSH PRIVILEGES;

Windows 初始化流程

  1. 安裝程式自動初始化資料目錄與 mysql 資料庫。
  2. 若非 MSI 安裝,需手動設密碼:
mysql -u root
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NewPass');
SET PASSWORD FOR 'root'@'%' = PASSWORD('NewPass');  -- 允許遠程(不建議)

驗證與重載授權表

mysqladmin -u root status
# 若仍允許無密碼登入,執行:
mysqladmin -u root reload
# 或
mysqladmin -u root flush-privileges

設定密碼後的連線方式

mysql -u root -p        # 互動輸入密碼
mysql -u root -p'Pass'  # 直接帶入(注意無空格,有安全風險)
mysql --defaults-file=/path/to/client.cnf  # 最安全:密碼存配置檔

安全加固清單

  • 執行 mysql_secure_installation(官方互動式腳本):移除匿名用戶、禁止遠程 root、刪除 test 庫、重載授權表。
  • 僅保留必要帳號,遵循最小權限原則。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved