萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL 用戶創建、授權、刪除、密碼修改與常用管理命令大全

MySQL 賬號全生命周期管理:創建、授權、變更、刪除標準化操作手冊

MySQL 8.0 前雖可直接操作 mysql.user 表,但官方推薦使用 DDL 語句(CREATE USER/GRANT/ALTER USER/DROP USER),兼容性更好、權限刷新自動化。本文匯總全版本通用的標準操作模板。

一、創建用戶


-- 8.0+ 推薦語法
CREATE USER 'test'@'localhost' IDENTIFIED BY '1234';
CREATE USER 'test'@'%' IDENTIFIED BY '1234';  -- 允許遠程

-- 5.7 兼容語法(仍可用)
CREATE USER 'test'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';

Host 語義:localhost 僅本地 Unix Socket;127.0.0.1 本地 TCP;% 任意主機;192.168.1.% 網段。

二、授權模板

1. 單庫全權限


GRANT ALL PRIVILEGES ON testDB.* TO 'test'@'localhost' IDENTIFIED BY '1234';
-- 8.0 需分兩步:CREATE USER → GRANT(不再支援 GRANT 隱式建用戶)

2. 精細權限


GRANT SELECT, INSERT, UPDATE ON testDB.* TO 'test'@'localhost';

3. 全庫全表指定權限


GRANT SELECT, DELETE, UPDATE, CREATE, DROP ON *.* TO 'test'@'%' IDENTIFIED BY '1234';

4. 刷新生效


FLUSH PRIVILEGES;  -- 8.0 通常自動生效,保留兼容習慣

三、查看權限


SHOW GRANTS FOR 'test'@'localhost';
SHOW GRANTS FOR 'test'@'%';

四、修改密碼


-- 8.0+
ALTER USER 'test'@'localhost' IDENTIFIED BY 'new_password';
-- 5.7
SET PASSWORD FOR 'test'@'localhost' = PASSWORD('new_password');
-- 通用(直接操作 user 表,不推薦)
UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='test' AND Host='localhost';
FLUSH PRIVILEGES;

五、刪除用戶


-- 8.0+ 推薦
DROP USER 'test'@'localhost';
DROP USER 'test'@'%';

-- 5.7 兼容
DELETE FROM mysql.user WHERE User='test' AND Host='localhost';
FLUSH PRIVILEGES;

-- 同步刪除其專屬數據庫
DROP DATABASE testDB;

六、常用管理命令速查

操作命令
列出所有庫SHOW DATABASES;
切換庫USE db_name;
列出所有表SHOW TABLES;
表結構DESC table_name; / SHOW CREATE TABLE table_name;
刪除庫DROP DATABASE db_name;
刪除表DROP TABLE table_name;
查看進程SHOW PROCESSLIST;
殺死進程KILL connection_id;
查看變量SHOW VARIABLES LIKE 'xxx';
查看狀態SHOW GLOBAL STATUS LIKE 'xxx';

七、生產環境權限最小化原則

  • 應用賬號:僅授權業務庫 SELECT/INSERT/UPDATE/DELETE,禁止 DROP/ALTER/CREATE
  • 只讀賬號:GRANT SELECT ON db.* TO 'readonly'@'%'
  • 遷移/備份賬號:RELOAD, REPLICATION CLIENT, PROCESS, SHOW DATABASES, SUPER
  • 定期審計:SELECT user, host FROM mysql.user; 清理無用/弱密碼賬號
  • 強制密碼策略:validate_password 插件 + 定期輪換
copyright © 萬盛學電腦網 all rights reserved