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

MySQL 資料庫安全管理:Root 密碼設定、匿名帳號處理、權限表操作

     編輯:MySQL 資料庫相關知識

初始安全風險

全新安裝的 MySQL 預設:

  • root 無密碼
  • 存在匿名帳號(User 欄為空)
  • 任何人無需密碼即可連線:mysql -h localhost -u root 或 mysql -h localhost

三種設定 Root 密碼的方法

1. mysqladmin 指令(推薦初始化)

mysqladmin -h localhost -u root password "newpwd"
mysqladmin -h remote_host -u root password "newpwd"

需同時執行本地與遠端兩條指令確保雙重安全。

2. SET PASSWORD SQL 語句

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');
SET PASSWORD FOR 'root'@'remote_host' = PASSWORD('newpwd');

3. 直接更新 user 表

USE mysql;
UPDATE user SET Password=PASSWORD('newpwd') WHERE User='root';
FLUSH PRIVILEGES;  -- 必須手動重載權限表

差異: 前兩種 MySQL 會自動偵測權限表變更並重載;直接 UPDATE 需手動 FLUSH PRIVILEGES。

匿名帳號處理

  • 查詢:SELECT User, Host FROM mysql.user WHERE User = '';
  • Windows 本地匿名帳號擁有與 root 相同權限,極大安全漏洞
  • 建議:刪除 或 降低權限

連線驗證

設定密碼後連線需提供密碼:

mysql -u root -p
Enter password: ********
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved