了解MySQL數(shù)據(jù)庫(kù)權(quán)限
MySQL數(shù)據(jù)庫(kù)通過(guò)授予權(quán)限來(lái)保護(hù)數(shù)據(jù)的安全性,分配的權(quán)限不同,用戶可以執(zhí)行不同的操作。MySQL數(shù)據(jù)庫(kù)中的權(quán)限主要分為全局權(quán)限、數(shù)據(jù)庫(kù)權(quán)限和表權(quán)限三種。
授予全局權(quán)限
授予全局權(quán)限可以讓用戶在所有數(shù)據(jù)庫(kù)和所有表中執(zhí)行相應(yīng)的操作。例如,授予一個(gè)用戶擁有SELECT權(quán)限,那么他可以在所有數(shù)據(jù)庫(kù)和表中進(jìn)行SELECT操作。授予全局權(quán)限的命令如下:
GRANT 權(quán)限類型 ON *.* TO '用戶名'@'登錄地址' IDENTIFIED BY '密碼';
授予數(shù)據(jù)庫(kù)權(quán)限
授予數(shù)據(jù)庫(kù)權(quán)限可以讓用戶在指定的數(shù)據(jù)庫(kù)中才能進(jìn)行相應(yīng)的操作。例如,授予一個(gè)用戶在test數(shù)據(jù)庫(kù)中SELECT權(quán)限,那么他只能在test數(shù)據(jù)庫(kù)中進(jìn)行SELECT操作。授予數(shù)據(jù)庫(kù)權(quán)限的命令如下:
GRANT 權(quán)限類型 ON 數(shù)據(jù)庫(kù)名.* TO '用戶名'@'登錄地址' IDENTIFIED BY '密碼';
授予表權(quán)限
授予表權(quán)限可以讓用戶在指定的表中進(jìn)行相應(yīng)的操作。例如,授予一個(gè)用戶在test數(shù)據(jù)庫(kù)中test_table表中SELECT權(quán)限,那么他只能在test_table表中進(jìn)行SELECT操作。授予表權(quán)限的命令如下:
GRANT 權(quán)限類型 ON 數(shù)據(jù)庫(kù)名.表名 TO '用戶名'@'登錄地址' IDENTIFIED BY '密碼';
收回權(quán)限
當(dāng)不再需要某個(gè)用戶的權(quán)限時(shí),我們可以使用REVOKE命令來(lái)收回相應(yīng)的權(quán)限。例如,收回一個(gè)用戶在test數(shù)據(jù)庫(kù)中SELECT權(quán)限,命令如下:
REVOKE SELECT ON test.* FROM '用戶名'@'登錄地址';
總結(jié)
MySQL數(shù)據(jù)庫(kù)通過(guò)授予權(quán)限來(lái)保障數(shù)據(jù)的安全性。全局權(quán)限、數(shù)據(jù)庫(kù)權(quán)限和表權(quán)限這三種權(quán)限可以授予不同的用戶,進(jìn)行相應(yīng)的操作。同時(shí),在不再需要某個(gè)用戶的權(quán)限時(shí),我們也可以使用REVOKE命令來(lái)收回相應(yīng)的權(quán)限。