MySQL用戶賬號管理:CREATE USER、DROP USER、RENAME USER、SET PASSWORD
MySQL權限管理:GRANT、REVOKE
一、CREATE USER(創建用戶)
CREATE USER 'username'@'hostname'
[
IDENTIFIED BY [PASSWORD] 'password';
]
主機名可以使用通配符:%和_
例如(允許10.10.10.100到10.10.10.199訪問):
CREATE USER fansik@'10.10.10.1__' IDENTIFIED BY 'fanjinbao';;
查看用戶能夠使用的權限:
SHOW GRANTS FOR fansik@'localhost';
二、RENAME USER(修改用戶名)
RENAME USER fan@'localhost' TO zhangsan@'127.0.0.1';
三、SET PASSWORD(修改用戶密碼)
SET PASSWORD FOR zhangsan@'127.0.0.1' = PASSWORD('lisi');
四、DROP USER(刪除用戶)
DROP USER zhangsan@'127.0.0.1';
五、MySQL權限
(權限類別:庫級別、表級別、字段級別、管理類的權限、程序類)
管理類權限:
CREATE TEMPORARY TABLES(創建臨時表)
CREATE USER(創建用戶)
FILE(在服務器上讀取或寫入某個文件的)
SUPER(雜項管理類命令)
SHOW DATABASES(查看數據庫有哪些)
SHUTDOWN(關閉服務器)
RELOAD(Use FLUSH and RESET)
REPLICATION CLIENT(與主從復制相關)
REPLICATION SLAVE(與主從復制相關)
LOCK TABLES(顯式施加表鎖)
PROCESS(查看活動線程)
庫級別和表級別:
ALTER(修改表結構)
ALTER ROUTINE(修改存儲過程和存儲函數)
CREATE(創建)
CREATE ROUTINE(創建存儲過程)
CREATE VIEW(創建視圖)
DROP(刪除)
EXECUTE(執行)
GRANT OPTION(把自己的權限轉贈個他人的)
INDEX(索引)
SHOW VIEW(查看視圖)
數據操作(表級別):
SELECT(查詢)
INSERT(插入)
UPDATE(修改)
DELETE(刪除)
GRANT(授權)
授權fansik用戶可以登錄並創建testdb數據庫
GRANT CREATE ON testdb.* TO fansik@'localhost' IDENTIFIED BY 'fanjinbao';
GRANT SELECT,UPDATE,DELETE,INSERT ON testdb.* TO fansik@'localhost';
撤銷權限
REVOKE INSERT ON testdb.* FROM fansik@localhost;
和用戶授權相關的表:
db:庫級別的權限
host:主機級別的權限,已廢棄
tables_priv:表級別權限
columns_priv:列級別權限
procs_priv:存儲過程和存儲函數相關的權限
proxies_priv:代理用戶權限