grant 許可權 on 資料庫名.表名 to '使用者名稱'@'主機ip位址'
ps: 許可權指select , insert , update 等.如果要授予所有的許可權,則使用all privileges;
如果要授予該使用者對所有資料庫和表的相應操作許可權則可用*表示, 如*.*.
操作完成之後,不會立即生效,要想立即生效,需輸入 flush privileges,將資料讀取到記憶體中,從而立即生效
授權目標資料庫的各類方式:
資料庫名.* 資料庫中的所有
資料庫名.表 指定資料庫中的某張表
資料庫名.儲存過程 指定資料庫中的儲存過程
*.* 所有資料庫
授權使用者的各類方式:
使用者名稱@ip位址 使用者只能在改ip下才能訪問
使用者名稱@192.168.1.% 使用者只能在改ip段下才能訪問(萬用字元%表示任意)
使用者名稱@% 使用者可以再任意ip下訪問(預設ip位址為%)
常見的例子:
grant all privileges on db1.tb1 to '使用者名稱'@'ip'
grant select on db1.* to '使用者名稱'@'ip'
grant select,insert on *.* to '使用者名稱'@'ip'
revoke select on db1.tb1 from '使用者名稱'@'ip'
grant 許可權 on 資料庫名.表名 to 使用者名稱@ip位址 identified by '密碼';
flush privileges;
show grants for 使用者名稱@ip位址;
ps:grant usage:mysql usage許可權就是空許可權,預設create user的許可權,只能連庫,啥也不能幹
revoke 許可權 on 資料庫名.表名 from '使用者名稱'@'ip位址';
例子: revoke select on db1.* from '使用者名稱
'@'ip';
ps: 假如你在給使用者'dog'@'
localhost''
授權的時候是這樣的(或類似的):grant select on test.user to 'dog'@'
localhost
', 則在使用revoke select on *.* from 'dog'@'
localhost
';命令並不能撤銷該使用者對test資料庫中user表的select 操作.相反,如果授權使用的是grant select on *.* to 'dog'@'
localhost
';則revoke select on test.user from 'dog'@'
localhost
';命令也不能撤銷該使用者對test資料庫中user表的select 許可權.
具體資訊可以用命令show grants for '使用者名稱'@'ip
'; 檢視.
20181203使用者的增刪改查
2018.12.03 1.賬號管理 使用者型別 三種 根使用者 系統使用者 普通使用者 新增使用者 useradd 新建使用者的邏輯 通過useradd建立使用者的同時,系統會將使用者資訊記錄在 etc passwd中,一般會在etc passwd 和 etc shadow 末尾追加一條記錄,同時會...
mysql增刪改查效果 mysql增刪改查
檢視所有資料庫 mysql show databases 建立乙個庫ghd並指定字符集為utp8 mysql create database ghd charset utf8 檢視mysql支援的字符集 mysql show char set 建立乙個表,並設定id為主鍵 create table ...
mysql增刪改查擴充套件 MySQL增刪改查
1 插入 insert 1 insert into 表名 values 值1 值2 例子 insert into t1 values zengsf 23 fengshao 22 2 insert into 表名 欄位1,values 值1 例子 insert into t1 name values ...