USAGE --無權限,只有登錄數據庫,只可以使用test或test_*數據庫
ALL --所有權限
select/update/delete/super/slave/reload --指定的權限
with grant option --允許把自己的權限授予其它用戶(此用戶擁有建立賬號的權限)
權限級別:
1、. --全庫、全表(mysql.user)
2、mysql.* --mysql庫下所有表(某庫中的所有表)(mysql.db)
3、mysql.user --mysql庫中user表(單表)(mysql.table_priv)
4、mysql.user.host --mysql庫中user表的host列(mysql.columns_priv)
用戶權限:
user@localhost 本地
user@192.168.0.1 某一臺主機
user@192.168.0.0/255.555.255.0 內網網段可以登錄
user@% 任何機器上都可以登錄
登錄方式<本地|網絡> with grant option ALL<select|insert|update|delete> .
1.新建一個本地帳號u01 可以創建用戶可以執行所有的動作對所有庫的所有表執行
create user 'u01'@'localhost' identified by '123';
grant all on *.* to 'u01'@'localhost' with grant option ;
2.使用u01來 新建u02使用tcp方式登錄 對db01庫可以執行任何操作
create user 'u02'@'192.168.0.1' identified by '456';
grant all on db01.* to 'u02'@'192.168.0.1';
mysql -u u02 -p456 -h192.168.0.1 -P3306
3.新建u03 在客服端192.168.0.254 對db01庫中t1表可以執行任何操作
grant all on db01.t1 to 'u03'@'192.168.0.254' identified by '789';
4.新建u04 在內網網段192.168.0.0/24 對db01.t1.id 可以執行任何操作
grant select,update(id,name) on db01.t1 to 'u04'@'192.168.0.0/24(掩碼必須寫完整的)' identified by '123456';
update mysql.user set host=192.168.0.0/255.255.255.0 where user='u04';
flush privileges;
grant select,update(id,name) on db01.t1 to 'u04'@'192.168.0.0/255.255.255.0'
5.新建u05 在任何機器上可以登錄 對db02全庫操作
grant all on db02.* to 'u05'@'%' identified by 'redhat';
取消權限revoke
revoke all on *.* from 'u01'@'localhost';
delete from mysql.user where user regexp '^u.*';
flush privileges;
不進數據庫在外面查看表信息
mysql -uroot -p123 -e "select user,host,password from mysql.user"