mysql用戶賬號、權限、密碼管理


一:用戶賬號管理

查看當前可登錄數據庫的用戶

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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM