1.MySQL的用戶管理
MySQL的用戶信息都保存在數據庫mysql的user表中,因此MySQL的用戶操作實際上就是對mysql.user表的增刪查改的操作,下圖中展示了mysql.user的表結構:
從圖中可以看到,在該表中可以設置用戶的所有信息,包括用戶名,密碼,權限等等。
Notice:password字段是通過PASSWORD('')函數生成的。
除了修改user表的方式來操作MySQL用戶外,MySQL有一些額外的命令用於創建或刪除MySQL用戶。
www.2cto.com
2.創建用戶
2.1.CREATE USER創建無權限用戶
語法:CREATE USER user [IDENTIFIED BY [PASSWORD] 'password'][, user [IDENTIFIED BY [PASSWORD] 'password']] ...
示例:create user test@localhost identified by 'test';//創建一個用戶名為test,密碼為test的用戶,該用戶沒有任何權限
2.2.GRANT方式創建帶權限用戶
語法:GRANT [ALL | [SELECT,DELETE...]] PRIVILEGES ON {databasename|*}.{tablename|*}... TO username IDENTIFIED BY password;
示例:GRANT ALL PRIVILEGES ON *.* TO test@% IDENTIFIED BY 'test';
3.刪除用戶
語法:DROP USER username;//username指的是帶host的username,即test@localhost,如果不指定host,host就為%. www.2cto.com
示例:DROP USER test@localhost;
4.MySQL權限說明
4.1查看某個用戶的權限
mysql> show grants for root@localhost;
4.2各權限解釋
權限
列
說明
CREATE
Create_priv
創建數據庫和表
DROP
Drop_priv
拋棄(刪除)數據庫和表
GRANT OPTION
Grant_priv
數據庫、表或保存的程序
REFERENCES
References_priv
未使用
ALTER
Alter_priv
www.2cto.com
修改表和索引
DELETE
Delete_priv
表
INDEX
Index_priv
創建或拋棄索引
INSERT
Insert_priv
向表中插入新行
SELECT
Select_priv
檢索表中的記錄
UPDATE
Update_priv
修改現存表記錄
CREATE VIEW
Create_view_priv
視圖
SHOW VIEW
Show_view_priv
視圖
ALTER ROUTINE
Alter_routine_priv
保存的程序
CREATE ROUTINE
www.2cto.com
Create_routine_priv
保存的程序
EXECUTE
Execute_priv
保存的程序
FILE
File_priv
讀或寫服務器上的文件
CREATE TEMPORARY TABLES
Create_tmp_table_priv
服務器管理
LOCK TABLES
Lock_tables_priv
服務器管理
CREATE USER
Create_user_priv
服務器管理
PROCESS
www.2cto.com
Process_priv
查看服務器中執行的線程信息或殺死線程
RELOAD
Reload_priv
重載授權表或清空日志、主機緩存或表緩存
REPLICATION CLIENT
Repl_client_priv
服務器管理
REPLICATION SLAVE
Repl_slave_priv
服務器管理
SHOW DATABASES
Show_db_priv
服務器管理
SHUTDOWN
Shutdown_priv
關閉服務器
SUPER
Super_priv
服務器管理
作者 sin90lzc