此前已經瞭解了使用者帳户如何在 MySQL 或 MariaDB 資料庫系統中工作,以及如何建立和刪除它們。這一次的內容 WordPress 站羣美國站羣服務器商將介紹如何確保這些使用者擁有對資料庫進行實際更改的許可權。
管理許可權
首先,確定需要使用哪些命令來管理這些許可權。與上次一樣,需要使用根使用者登入到資料庫客户端來執行這些命令:
GRANT privilege_type ON database_name.table_name TO ‘user’@‘host’;
第一部分是 GRANT 命令,用於向使用者授予許可權。稍後將解釋 “privilege_type”,但希望讀者還熟悉上一次引用使用者帳户的 ‘user’@’host’ 方法。 “database_name.table_name” 是目前感興趣的部分。每個 MySQL 或 MariaDB 站羣服務器都能夠處理由資料表組成的多個資料庫。許可權系統是非常精細的,允許將使用者帳户許可權指定到特定的表,這意味著可以確保使用者帳户只能檢視或操作管理員設定的使用者帳户所需的準確資料。在本例中,萬用字元星號(*)可用於指定所有資料庫或表。
REVOKE privilege_type ON database_name.table_name TO ‘user’@‘host’;
接下來,使用 REVOKE 命令,不出所料,它能從使用者帳户中刪除許可權。命令格式與 GRANT 命令相同。要檢視特定使用者的許可權,可以使用 SHOW GRANTS 命令,如下所示:
SHOW GRANTS FOR ‘user’@‘host’;
以下是具體的許可權型別:
* CREATE——此項允許使用者帳户建立一個新的表或資料庫。
* DROP——此項允許使用者帳户刪除一個表或資料庫。
* INSERT——此項允許使用者帳户向表中新增新行。
* UPDATE——此項允許使用者帳户更改錶行資料。
* DELETE——此項允許使用者從表中刪除行。
* SELECT——此項允許使用者檢視資料庫中的資料。
* ALL——此項給了一個使用者帳户的所有許可權,在指定的資料庫、表或沒有指定的任何資料或內容。
管理其他許可權選項
這不是一個完整的許可權型別列表,但它確實涵蓋了在向資料庫新增使用者帳户時可能要使用的許多常用的許可權型別。有關完整的列表,請參閲 MySQL 手冊中的表 13.3 。以下是這個許可權系統的實際執行情況:
GRANT ALL ON *.* TO ‘user’@‘host’;
該命令將資料庫系統上的所有許可權授予使用者帳户 ‘user’@’host’ 。這通常不是一個好主意,因為根帳户已經有了這些許可權,並且幾乎不需要具有相同許可權級別的第二個帳户。
GRANT ALL ON my_database.* TO ‘user’@‘host’;
以上命令授予使用者帳户 ‘user’@’host’ 對資料庫 my_database 的所有許可權。
GRANT SELECT, INSERT, UPDATE, DELETE ON my_database.* TO ‘user’@‘host’;
在這個示例中,該命令允許使用者帳户 ‘user’@’host’ 對 my_database 資料庫中的所有表使用 SELECT 、 INSERT 、 UPDATE 和 DELETE 命令。
GRANT SELECT ON old_database.table_4 TO ‘user’@‘host’;
最後,上面的命令允許 ‘user’@’host’ 使用資料庫 old_database 表 table_4 上的 SELECT 命令。建立使用者並分配其許可權後,最後一步是重新載入所有使用者許可權,以便他們可以使用資料庫。這可以通過以下命令完成:
FLUSH PRIVILEGES;
以上就是使用 MySQL 或 Mariadb 資料庫與使用者合作的指南。現在讀者應該對使用者和許可權的工作方式有了合理的理解,並且應該能夠管理資料庫的使用者以滿足管理員需求。更多相關內容可以瞭解一下 如何利用 phpmyadmin 設定 mysql 的許可權。