mysql之許可權篇

2021-08-30 18:25:59 字數 856 閱讀 3200

mysql許可權表:

mysql.user

mysql.db

mysql.host

mysql.table_priv

mysql.column_priv

由於許可權資訊資料量比較小,訪問又非常頻繁,mysql在啟動時,就會將所有的許可權資訊都載入到記憶體中,並儲存在幾個特定的結構裡。

show grants for 'username'@'hostname'--檢視使用者許可權

global level

此級別的許可權資訊儲存在mysql.user表中

這個級別的許可權是針對整個mysqld的,對資料庫下的所有表及字段都有效。如果乙個許可權是在global級別上授予的,則會覆蓋其他所有級別的相同許可權設定。

database level

資料庫級別的許可權

針對特定的資料庫賦予許可權

問題場景:

有一次用grant給乙個使用者賦予了某乙個database的許可權,但是當時不知道mysql的許可權構成,所以當時乙個勁的去user表當中去找,一看沒有改變,當時非常鬱悶,

以為sql語句錯誤了,於是去搜去找了好久,不斷的實驗,還是沒有解決,徹底崩潰,後來才發現是在db表當中的。

table level

column level

routine level

當前只有excute以及alter routine兩種許可權,針對的物件主要是procedure和function

後三種許可權使用較少,只是在一些特殊情況下才這樣用;另外database level可以在資料庫不存在的情況下完成授權。

MySQL許可權篇之RELOAD

reload,顧名思義,過載。屬系統許可權 個人這麼認為 擁有該許可權的使用者可以使用flush語句。比如flush tables flush logs flush privileges等待。來看看該使用者的操作 query ok,0 rows affected 0.35 sec mysql flu...

MySQL許可權篇之DELETE及SELECT

delete許可權,該許可權僅僅能刪除表中的記錄。但是要注意如果僅僅只授予了delete許可權。比如 mysql show grants for ut01 grants for ut01 grant usage on to ut01 1 row in set 0.00 sec mysql grant...

Linux之許可權篇

rachel bigdata senior02 ls l total 64 rwxrw r 1 root root 1213 feb 2 09 39 abc第乙個字元代表檔案 目錄 d 鏈結 l 其餘字元每3個一組 rwx 讀 r 寫 w 執行 x 第一組rwx 檔案所有者的許可權是讀 寫和執行 第...