MySQL安全管理 Allione 新浪部落格

2021-10-10 12:23:22 字數 1757 閱讀 8921

目錄:安全影響因素;許可權系統

​2、許可權系統

flush privileges:因為mysql每次啟動的時候就會將所有的許可權資訊都load到記憶體中,所以每次修改許可權之後要執行flush privileges命令載入mysql的許可權資訊。,如果我們通過grant,revoke 或者drop user 命令來修改相關許可權,則不需要手工執行flush privileges 命令,因為通過grant,revoke 或者drop user 命令所

做的許可權修改在修改系統表的同時也會更新記憶體結構中的許可權資訊。在mysql5.0.2 或更高

版本的時候,mysql 還增加了create user 命令,以此建立無任何特別許可權(僅擁有初始usage

許可權)的使用者,通過create user 命令建立新了新使用者之後,新使用者的資訊也會自動更新到

記憶體結構中。所以,建議讀者一般情況下盡量使用grant,revoke,create user 以及drop

user 命令來進行使用者和許可權的變更操作,儘量減少直接修改grant tables來實現使用者和權

限變更的操作。

3、許可權級別

1)global level:​全域性許可權控制,對所有的資料庫下的所有表及所有字段都有效。

要授予global level 的許可權,則只需要在執行grant 命令的時候,用「*.*」來指定適

用範圍是global 的即可。

例如:​root@localhost : mysql 05:14:35> grant select,update,delete,insert on *.*to 'def'@'localhost';

2)database level:@

在執行grant 命令的時候,通過「database.*」來限定許可權作用域為database 整個

資料庫。例如:

root@localhost : mysql 06:06:26> grant alter ontest.*to 'def'@'localhost';

@​先通過use 命令選定需要授權的資料庫,然後通過「*」來限定作用域,這樣授權的作用域實際上就是當前選定的整個資料庫。例如:​

​root@localhost : mysql 06:14:05> use test;

root@localhost : test 06:13:10> grant drop on * to 'def'@'localhost';

3)​table level:

4)column level​:

5)routine level:routine level 的許可權主要只有execute 和alter routine 兩種,主要針對的物件是procedure 和function 這兩種物件,

grant許可權:​擁有grant 許可權的使用者可以將自身所擁有的任何許可權全部授予其他任何使用者,所以grant 許可權是乙個非常特殊也非常重要的許可權。grant 許可權的授予方式也和其他任何許可權都不太一樣,通常都是通過在執行grant

授權語句的時候在最後新增with grant option 子句達到授予grant 許可權的目的。

mysql安全管理 MySQL安全管理

資料庫伺服器通常包含關鍵的資料,確保這些資料的安全和完整需要利用訪問控制。一 訪問控制 mysql伺服器的安全基礎 使用者應該對他們需要的資料具有適當的訪問權,既不能多也不能少。訪問控制 你需要給使用者提供他們所需的訪問權,且僅提供他們所需的訪問權。在日常工作中,絕不能使用root,應該建立一系列的...

mysql安全管理 MySQL 安全管理

1.使用者管理 mysql將帳戶儲存在系統資料庫mysql的user表,mysql使用者名稱最長可達32個字元 檢視所有使用者 select user,host,authentication string from user 檢視當前使用者的許可權 show grants 檢視gg使用者許可權 sh...

mysql登入安全管理 MySQL 安全管理

1.使用者管理 mysql將帳戶儲存在系統資料庫mysql的user表,mysql使用者名稱最長可達32個字元 檢視所有使用者 select user,host,authentication string from user 檢視當前使用者的許可權 show grants 檢視gg使用者許可權 sh...