首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Linux 命令行創建 MySQL 用戶與權限管理完整教程

     編輯:MySQL 綜合教學

Linux 命令行創建 MySQL 用戶與權限管理完整教程

MySQL 用戶帳號管理是資料庫安全的第一道防線。本文詳細演示從登入、創建用戶、授權、資源限制到生效的完整操作流程,適用於自動化腳本與手動運維場景。

1. 以 Root 登入 MySQL

mysql -u root -p
# 輸入 root 密碼

2. 創建用戶

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
  • 'myuser'@'localhost':僅允許本地連接
  • 'myuser'@'%':允許任意主機遠程連接
  • 建議:按最小權限原則,區分本地與遠程帳號

3. 驗證用戶創建

SELECT Host, User, Password FROM mysql.user WHERE User='myuser';

4. 權限體系與授權

常用權限對照

授權語法範例

-- 特定庫.表授權
GRANT SELECT, INSERT ON mydb.mytable TO 'myuser'@'localhost';

-- 特定庫所有表
GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'myuser'@'localhost';

-- 所有庫所有表(僅超級管理員)
GRANT ALL ON *.* TO 'myuser'@'localhost';

-- 僅授予開發常用權限(推薦生產環境)
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, EXECUTE 
ON mydb.* TO 'myuser'@'localhost';

5. 驗證授權結果

SHOW GRANTS FOR 'myuser'@'localhost';

輸出示例:

GRANT USAGE ON *.* TO 'myuser'@'localhost'
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, EXECUTE ON `mydb`.* TO 'myuser'@'localhost'

6. 回收權限

-- 回收特定權限
REVOKE INSERT ON mydb.* FROM 'myuser'@'localhost';

-- 回收所有權限
REVOKE ALL ON *.* FROM 'myuser'@'localhost';

7. 資源限制(防止濫用)

權限說明
ALL PRIVILEGES所有權限(除 GRANT OPTION)
CREATE建庫、建表、建索引
ALTER修改表結構
DROP刪庫、刪表、刪視圖
SELECT查詢數據
INSERT插入數據
UPDATE更新數據
DELETE刪除數據
INDEX建/刪索引
EXECUTE執行存儲過程/函數
GRANT OPTION授權給其他用戶

設定資源限制

GRANT USAGE ON *.* TO 'myuser'@'localhost' 
WITH MAX_QUERIES_PER_HOUR 1000 
     MAX_CONNECTIONS_PER_HOUR 50 
     MAX_USER_CONNECTIONS 10;

8. 使變更生效

FLUSH PRIVILEGES;

此命令將權限表緩存刷新至內存,確保修改立即生效。

9. 完整自動化腳本範例

#!/bin/bash
# create_mysql_user.sh
# 用法: ./create_mysql_user.sh username password database [host]

USER=$1
PASS=$2
DB=$3
HOST=${4:-'localhost'}

mysql -u root -p${ROOT_PASS} <

安全建議

  1. 專用帳號專用庫:每個應用使用獨立帳號,僅授予所需庫權限
  2. 禁用 root 遠程:DELETE FROM mysql.user WHERE User='root' AND Host!='localhost';
  3. 定期審計:SELECT User, Host FROM mysql.user; 檢查異常帳號
  4. 強密碼策略:啟用 validate_password 插件
  5. 最小權限原則:僅授予業務必要的最小權限集

規範的用戶權限管理能有效降低資料洩露、誤操作與濫用風險,是合規與安全的基礎要求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
限制項說明
MAX_QUERIES_PER_HOUR每小時最大查詢次數
MAX_UPDATES_PER_HOUR每小時最大更新次數
MAX_CONNECTIONS_PER_HOUR每小時最大連接次數
MAX_USER_CONNECTIONS同一用戶最大並發連接數