一:用戶賬號管理
查看當前可登錄數據庫的用戶
mysql>SELECT host,user FROM mysql.user;

創建新用戶
mysql>CREATE USER username@host IDENTIFIED BY '密碼';

注意:username是用戶名,host用於指定登錄的主機,如果是本地用戶用localhost,如果需要遠程連接可以指定ip,或者使用“%”可以從任意主機登錄。
刪除用戶
mysql>DROP USER pangpang@localhost ;

修改用戶名
是對庫名為mysql的數據庫中的user表進行更新,這里別搞混了,不是ORACLE、SQLserver的那個mysql,以下默認皆是。

mysql>USE mysql; mysql>UPDATE user SET USER="新用戶名" WHERE USER ="舊用戶名";
或者直接指定哪個數據庫和表名

禁用賬號
mysql>ALTER USER pangpang@localhost ACCOUNT LOCK;
啟用賬號
mysql>ALTER USER pangpang@localhost ACCOUNT UNLOCK;

二:用戶密碼管理
修改用戶密碼
mysql> ALTER USER pangpang@localhost IDENTIFIED BY "2wsx@WSX";

設置密碼有效期
expire是失效、終止的意思
mysql> ALTER USER pangpang@localhost PASSWORD EXPIRE INTERVAL 100 DAY;

禁用密碼過期功能
mysql> ALTER USER pangpang@localhost PASSWORD EXPIRE NEVER;

恢復默認用戶密碼策略
mysql> ALTER USER pangpang@localhost PASSWORD EXPIRE DEFAULT;
三:用戶權限管理
Mysql 通過GRANT命令進行賦權操作
常用權限參考
usage 無權限 SELECT 查詢表記錄 INSERT 插入表記錄 UPDATE 更新表記錄 DELETE 刪除表記錄 CREATE 創建庫、表 DROP 刪除庫、表 RELOAD 有重新載入授權 必須擁有reload權限,才可以執行flush [tables | logs | privileges] SHUTDOWN 允許關閉mysql服務 使用mysqladmin shutdown 來關閉mysql PROCESS 允許查看用戶登錄數據庫服務器的進程 ( show processlist; ) FILE 導入、導出數據 REFERENCES 創建外鍵 INDEX 創建索引 ALTER 修改表結構 SHOW DATABASES 查看庫 SUPER 關閉屬於任何用戶的線程 CREATE TEMPORARY TABLES 允許在create table 語句中使用 TEMPORARY關鍵字 LOCK TABLES 允許使用 LOCK TABLES 語句 EXECUTE 執行存在的Functions,Procedures REPLICATION SLAVE 從主服務器讀取二進制日志 REPLICATION CLIENT 允許在主/從數據庫服務器上使用 show status命令 CREATE VIEW 創建視圖 SHOW VIEW 查看視圖 CREATE ROUTINE 創建存儲過程 ALTER ROUTINE 修改存儲過程 CREATE USER 創建用戶 EVENT 有操作事件的權限 TRIGGER, 有操作觸發器的權限 CREATE TABLESPACE 有創建表空間的權限
GRANT命令的常見格式
| 命令解析 |
作用 |
| GRANT 權限 ON 數據庫.表單名稱 TO 賬戶名@主機名 |
對某個特定數據庫中的特定表單賦權 |
| GRANT 權限 ON 數據庫.* TO 賬戶名@主機名 |
對某特定數據庫中的所有表單賦權 |
| GRANT 權限 ON *.* TO 賬戶名@主機名 |
對所有數據庫及其所有表單賦權 |
| GRANT 權限1,權限2 ON 數據庫.* TO 賬戶名@主機名 |
對某數據庫的所有表單賦多個權 |
| GRANT ALL PRIVILEGES ON *.* TO 賬戶名@主機名 |
對全部數據及表單賦予所有權限(慎用) |
查看當前用戶的權限
mysql> SHOW GRANTS;

查看特定用戶的權限
mysql> SHOW GRANTS FOR pangpang@localhost;

給用戶添加某權限
mysql>GRANT UPDATE ON *.* TO pangpang@localhost;

賦予多項權限用逗號隔開
mysql> GRANT DELETE,CREATE ON *.* TO pangpang@localhost;

刪除用戶某項權限
mysql> REVOKE DELETE ON *.* FROM pangpang@localhost;

同時刪除所有權限
mysql> REVOKE ALL ON *.* FROM pangpang@localhost;
