MySQL是使用最廣泛的關系型數據庫管理系統之一,為了保證數據安全性,MySQL擁有強大的授權系統。在MySQL中,管理員可以設定不同的權限給不同的用戶來控制數據庫的訪問。
授權系統基本操作:
GRANT 權限 ON 數據庫.表 TO '用戶'@'主機' IDENTIFIED BY '密碼'; REVOKE 權限 ON 數據庫.表 FROM '用戶'@'主機';
授權語句中的具體參數解釋:
權限:所賦予操作的權限,如: SELECT、INSERT、UPDATE、DELETE、ALL PRIVILEGES等。 數據庫.表:所賦予權限的數據庫及其中的表。 用戶:被賦予權限的用戶賬號。 主機: 受訪問限制的主機名稱或IP地址。 密碼:用戶需要登錄時必須使用該密碼。
授權系統的示例:
-- 新建一個test庫和t_user表 CREATE DATABASE test CHARACTER SET utf8; CREATE TABLE t_user ( id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(20) NOT NULL, age TINYINT(4) NOT NULL, PRIMARY KEY (id), UNIQUE KEY name (name) -- 要求name列值唯一 ) ENGINE = InnoDB CHARACTER SET utf8; -- 給a1@a_host帳號授權SELECT,INSERT權限,以訪問test庫中的t_user表 GRANT SELECT,INSERT ON test.t_user TO 'a1'@'a_host' IDENTIFIED BY 'password'; -- 給a2@a_host帳號授權SELECT權限,以訪問test庫中的t_user表 GRANT SELECT ON test.t_user TO 'a2'@'a_host' IDENTIFIED BY 'password'; -- 收回a1@a_host帳號對test庫中t_user表的SELECT權限 REVOKE SELECT ON test.t_user FROM 'a1'@'a_host';
通過授權系統,管理員可以非常靈活地控制不同用戶對數據庫的操作權限,從而實現數據安全性的保障。
上一篇mysql數據庫換類型
下一篇mysql數據庫排它鎖