mysql基礎 mysql許可權控制的原理

2021-06-08 16:37:51 字數 1110 閱讀 3640

mysql在許可權控制過程中,採用了幾個表來訪問資訊,各個表訪問的資訊不同。

mysql.user

mysql.db

mysql.host

mysql.host

mysql.tables_priv

mysql.columns_priv

procs_priv 

user表訪問全域性許可權控制即 global  level,global level的所有許可權都是針對整個資料庫例項,對所有資料庫及資料庫下的所有表和字段都有效。

db 表訪問database level級別的許可權控制,它的作用域是針對資料庫例項。在global  level  之下。

tables_priv 訪問table level 級別許可權控制,table level 許可權是database level之下的級別,它會被global level和database level 覆蓋,但它同樣也有能力覆蓋下面的兩個級別。

colums_priv  訪問列級別控制許可權,columnlevel僅僅是對某個表的指定的列設定許可權。它同樣可以被其上的級別覆蓋,但不會覆蓋其下的routine level級別。

routine level許可權只有execute 和 alter routine兩種,主要針對procedure和function。

另外host表會訪問ip限定。

file 許可權也在user 表中訪問,它也是全域性的。

使用者訪問時授權系統會檢測

首先,對使用者的訪問進行控制的時候,系統需要檢視作為過濾器的一些授權表,連線過程一般會檢測

user 表和 host

一旦使用者連線上了之後會進行以下操作。

(1)管理請求(shutdown,reload,等)

當使用者提交管理請求時,伺服器只需檢視user表,這是因為user表是對整個例項的也是唯一包含與管理工作有關的許可權的乙個表。

(2)資料庫相關的請求(insert,delete,等)

這會涉及到相關的資料庫和表及列,這時許可權系統會檢查db,tables_priv,coluns_priv 等。

(3)一種特殊許可權,主要是針對procedure 和 function 的create  和alter ,他們是全域性的。

這些許可權儲存在user 表中。

mysql 許可權設定後多久 mysql許可權控制

1 建立新使用者 通過root使用者登入之後建立 grant all privileges on to testuser localhost identified by 123456 建立新使用者,使用者名為testuser,密碼為123456 grant all privileges on to ...

mysql 許可權基礎

首先進入mysql命令列 1.新增使用者許可權 表示新增乙個使用者名稱和密碼都為sa的使用者,此使用者可以在區域網內登陸,並且擁有mysql除grant option之外的所有簡單許可權 grant all on to sa 192.168.1.identified by sa 2.刪除使用者許可權...

MySQL基礎 許可權配置

mysql grant all privileges on to localhost identified by mysql grant all privileges on to localhost identified by mysql create database icebug db mysq...