mysql def許可權 mysql使用者許可權管理

2021-10-18 06:49:35 字數 2069 閱讀 9699

mysql資料在實際生產環境中大量被使用,那平時在做好伺服器上防火牆策略以外平時,對mysql下的使用者許可權也要嚴格管理,mysql的使用者許可權都是放在mysql.user這張表裡,平時的使用者許可權管理都是隱式使用著這張表的,先說下許可權:許可權意義

select查詢

insert插入

update更新

delete刪除記錄,一般用於清空表或者某一條記錄

create建立

drop刪除,從表空間裡刪除

grant授予,一般用於給使用者授權

references引用

index索引

alter修改表

create temporary tables建立臨時表

lock tables鎖表

execute執行儲存過程,這個比較少用

create view建立檢視

show view檢視檢視

create routine建立儲存過程

alter routine修改儲存過程

event事務管理,相當於unix系統中的cron任務,通過mysq.event表中設定定時任務

trigger觸發器

如果是普通使用者一般都是給一些基本的增刪改查的許可權就夠了,平時管理一般就用以下許可權:mysql> select distinct concat('user: ''',user,'''@''',host,''';') as query from mysql.user;

#查所有使用者,授予哪個主機的許可權,concat整理下檢視時會比較清晰直觀

mysql> show grants for 'root'@'127.0.0.1';

#用於檢視用名對應主機下的許可權

mysql> grant all *.* to 'test'@'127.0.0.1' identified by "youpasswd";

#授予test在127.0.0.1下所有庫的所有許可權登入密碼youpasswd,這個如果這個使用者沒有被建立會隱式

creat使用者,這裡要注意的是普通使用者給這個許可權肯定不行,許可權太高,比如當前庫下有乙個daemon庫,

給test基本許可權,如

create user 'test'@'127.0.0.1' identified by "youpasswd";

grant select, insert, update, delete on `daemon`.* to 'test'@'127.0.0.1';

#在這裡可以creat建立後再限定許可權,當然也可以寫

grant select, insert, update, delete on `daemon`.* to 'test'@'127.0.0.1' identified by "youpasswd";

#當然這裡都是給固定主機的許可權,也可以給某個位址段,如10.0.%,或者是任意ip即%,當然在實際生產環境

中這樣是不允許的

revoke insert on `daemon`.* from 'test'@'127.0.0.1';

#移除許可權

drop user [email protected];

#刪除使用者

#以上的的操作都會隱式flush privileges重新整理授權表

update user set password = password('newpasswd') where user = 'test';

flush privileges;

#利用update跟新test密碼,需要flush privileges重新整理授權表

select password('newpasswd');

#生成依賴於mysql的雜湊加密的密碼,多用於程式內部使用mysql給許可權時使用

基本,在平時管理mysql使用者許可權裡大概使用的就是這麼多,還有要注意的是在給主機許可權的時候要注意2點:能使用內網就一定要內網;要盡量避免使用用網域名稱,能用ip就用ip,以免mysql中dns反解析,可以在啟動時使用/usr/local/mysql/bin/mysqld_safe --skip-name-resolve --user=mysql&

新增--skip-name-resolve引數,當然最好是在my.cnf或者是my.ini中加skip-name-resolve引數

mysql def許可權 MySQL許可權管理

我們先了解何時 mysql 存放於記憶體結構中的許可權資訊被更新 flush privileges 會強行讓 mysql 更新 load 到記憶體中的許可權資訊 g 檢視使用者許可權 show grants for 你的使用者 比如 show grants for root localhost my...

mysql 重新整理許可權 mysql許可權

1,檢視所有使用者許可權 select distinct concat user user,host,as query from mysql.user 或者 select from mysql.user 2,檢視某乙個使用者的許可權 show grants for user ip 3,分配許可權 以...

mysql許可權 列許可權 mysql 的許可權體系介紹

mysql 的許可權體系大致分為5個層級 全域性層級 全域性許可權適用於乙個給定伺服器中的所有資料庫。這些許可權儲存在mysql.user表中。grant all on 和revoke all on 只授予和撤銷全域性許可權。資料庫層級 資料庫許可權適用於乙個給定資料庫中的所有目標。這些許可權儲存在...