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

MySQL 建立使用者、授權與基本管理指令速查表

     編輯:MySQL 資料庫相關知識

MySQL 使用者管理採用「帳號@主機」模型,權限精細至欄位層級。本文整理從登入、建庫、建立使用者、授權到密碼管理的常用指令,適合快速查閱。

1. 登入 MySQL

# 進入 bin 目錄(視安裝路徑調整)
cd /usr/local/mysql/bin

# 以 root 登入(首次安裝無密碼直接 Enter)
mysql -u root -p

2. 修改 Root 密碼

# 方法 1:mysqladmin(舊密碼為空時)
mysqladmin -u root password 'new_password'

# 方法 2:SQL 指令(推薦,適用所有版本)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;

3. 資料庫基本操作

-- 建立資料庫
CREATE DATABASE shopex CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

-- 顯示所有資料庫
SHOW DATABASES;

-- 切換資料庫
USE shopex;

4. 建立使用者與授權(核心語法)

-- 建立僅限本地登入的使用者
CREATE USER 'test'@'localhost' IDENTIFIED BY '1234';

-- 授予指定資料庫所有權限
GRANT ALL PRIVILEGES ON shopex.* TO 'test'@'localhost';

-- 刷新權限生效
FLUSH PRIVILEGES;

常見授權模式

需求GRANT 範例
全庫所有權限(含 GRANT OPTION)GRANT ALL ON *.* TO 'admin'@'%' WITH GRANT OPTION;
特定資料庫讀寫GRANT SELECT, INSERT, UPDATE, DELETE ON db.* TO 'dev'@'%';
唯讀帳號GRANT SELECT ON *.* TO 'readonly'@'%';
僅限特定表GRANT SELECT, UPDATE ON db.orders TO 'app'@'%';
欄位級權限GRANT SELECT (id, name), UPDATE (status) ON db.users TO 'hr'@'%';

5. 使用者管理常用指令

-- 查看使用者
SELECT User, Host, authentication_string FROM mysql.user;

-- 修改密碼
ALTER USER 'test'@'localhost' IDENTIFIED BY 'newpass';

-- 重命名使用者
RENAME USER 'test'@'localhost' TO 'test2'@'localhost';

-- 刪除使用者
DROP USER 'test'@'localhost';

-- 查看權限
SHOW GRANTS FOR 'test'@'localhost';

-- 撤銷權限
REVOKE ALL PRIVILEGES ON shopex.* FROM 'test'@'localhost';

6. 密碼驗證外掛(MySQL 8.0+)

-- 查看可用外掛
SHOW PLUGINS;

-- 建立使用 caching_sha2_password(預設)
CREATE USER 'app'@'%' IDENTIFIED WITH caching_sha2_password BY 'pass';

-- 相容舊驅動程式使用 mysql_native_password
CREATE USER 'legacy'@'%' IDENTIFIED WITH mysql_native_password BY 'pass';

7. 安全性最佳實踐

  • 避免使用 % 通配主機,限制具體 IP 或子網(如 'app'@'192.168.1.%')。
  • 定期審核權限:SELECT * FROM information_schema.USER_PRIVILEGES;。
  • 啟用密碼過期策略:ALTER USER 'app'@'%' PASSWORD EXPIRE INTERVAL 90 DAY;。
  • 移除匿名帳號:DROP USER ''@'localhost'; DROP USER ''@'%';。
  • 生產環境禁用 skip-grant-tables 啟動參數。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved