MySQL 用戶規劃及權限設置

MySQL 用戶規劃及權限設置

1.MySQL用戶規劃原則


數據庫一般劃分爲生產庫,準生產庫,測試庫,開發庫。 

#生產庫用戶劃分原則

##DBA:有所有權限,超級管理員權限 

用戶名:dbadmin_標識

密碼:英文字母大小寫共5位以上+特殊字符1位以上+數字3位以上=9位以上

語句:
普通DBA管理某庫:
GRANT ALL PRIVILEGES ON 庫名 TO 'dbadmin_標識'@'IP' identified by '密碼';
高級DBA管理所有庫:
GRANT ALL ON *.* TO 'dbadmin_標識'@'IP' identified by '密碼';

##應用程序:分配SELECT, INSERT, UPDATE, DELETE, EXECUTE, EVENT,TRIGGER FILE權限。

用戶名:appadmin_標識

密碼:英文字母大小寫共5位以上+特殊字符1位以上+數字3位以上=9位以上

語句:
GRANT INSERT,UPDATE,SELECT,DELETE,EXECUTE ON DBHWY.* TO 'appadmin_標識'@'IP';
GRANT FILE ON *.* TO 'appadmin'@'172.16.115.%';

##測試人員:select某些業務表權限,或某庫。 

用戶名:dbread_標識

密碼:英文字母大小寫共5位以上+特殊字符1位以上+數字3位以上=9位以上

語句:
GRANT SELECT ON 庫名 TO 'dbread_標識'@'IP段' identified by '密碼';

##開發人員:與測試人員權限一樣,可爲同個用戶。

原則:對操縱所有的數據庫對象,包括表、索引、視圖、存儲過程等,都必須經由DBA來
審覈,決定是否執行,以及執行的詳細步驟。




#準生產庫用戶劃分原則

爲保持數據庫穩定性,準生產數據庫要求與生產數據庫一致。




#測試庫庫用戶劃分原則


##DBA:所有權限。 

用戶名:dbadmin_標識

密碼:英文字母大小寫共5位以上+特殊字符1位以上+數字3位以上=9位以上

語句:
普通DBA管理某庫:
GRANT ALL PRIVILEGES ON 庫名 TO 'dbadmin_標識'@'IP' identified by '密碼';

##應用程序:分配SELECT, INSERT, UPDATE, DELETE, EXECUTE, EVENT,TRIGGER FILE權限。

用戶名:appadmin_標識

密碼:英文字母大小寫共5位以上+特殊字符1位以上+數字3位以上=9位以上

語句:
GRANT INSERT,UPDATE,SELECT,DELETE,EXECUTE ON DBHWY.* TO 'appadmin_標識'@'IP';
GRANT FILE ON *.* TO 'appadmin'@'172.16.115.%';

##測試人員:有 SELECT 權限。

用戶名:dbread_標識

密碼:英文字母大小寫共5位以上+特殊字符1位以上+數字3位以上=9位以上

語句:
GRANT SELECT ON 庫名 TO 'dbread_標識'@'IP' identified by '密碼';

##開發人員:有 INSERT,UPDATE,SELECT,DELETE 權限。

用戶名:dbwrite_標識

密碼:英文字母大小寫共5位以上+特殊字符1位以上+數字3位以上=9位以上

語句:
GRANT INSERT,UPDATE,SELECT,DELETE ON 庫名.* TO 'dbwrite_標識'@'IP' identified by '密碼';

原則:DBA有所有權限,而且嚴格控制表結構的變更,不允許除了dba之外的人對測試環境數據庫表結構
修改,以免影響測試人員測試。所有對測試庫的表結構進行的修改必須由測試人員和DBA一起審覈過後才能操作。 




#開發庫用戶劃分原則

##DBA:所有權限 

##應用程序:分配SELECT, INSERT, UPDATE, DELETE, EXECUTE, EVENT,TRIGGER FILE權限。

用戶名:appadmin_標識

密碼:英文字母大小寫共5位以上+特殊字符1位以上+數字3位以上=9位以上

語句:
GRANT INSERT,UPDATE,SELECT,DELETE,EXECUTE ON DBHWY.* TO 'appadmin_標識'@'IP';
GRANT FILE ON *.* TO 'appadmin'@'172.16.115.%';

##測試人員:有庫表結構以及數據的所有操作權限。(與開發人員一至)

##開發人員:有庫表結構以及數據的所有操作權限。

用戶名:dbwrite_標識

密碼:英文字母大小寫共5位以上+特殊字符1位以上+數字3位以上=9位以上

語句:
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, REFERENCES, INDEX, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, EVENT, TRIGGER ON `HWYDB`.* TO 'dbwrite'@'172.16.115.%' identified by '密碼';

 

原則:在開發數據庫,測試人員、開發人員、數據分析人員對數據庫中數據、表結構等
都有修改的權限,爲不影響他人,在做操縱之前應以郵件方式通知大家。




權限                       意義                   
ALL [PRIVILEGES]        設置除GRANT OPTION之外的所有簡單權限                   
ALTER                   允許使用ALTER TABLE                   
ALTER ROUTINE           更改或取消已存儲的子程序                   
CREATE                  允許使用CREATE TABLE                   
CREATE ROUTINE          創建已存儲的子程序                   
CREATE TEMPORARY TABLES 允許使用CREATE TEMPORARY TABLE                   
CREATE USER             允許使用CREATE USER, DROP USER, RENAME USER和REVOKE ALL PRIVILEGES。                   
CREATE VIEW             允許使用CREATE VIEW                   
DELETE                  允許使用DELETE                   
DROP                    允許使用DROP TABLE                   
EXECUTE                 允許用戶運行已存儲的子程序                   
FILE                    允許使用SELECT...INTO OUTFILE和LOAD DATA INFILE                   
INDEX                   允許使用CREATE INDEX和DROP INDEX                   
INSERT                  允許使用INSERT                   
LOCK TABLES             允許對您擁有SELECT權限的表使用LOCK TABLES                   
PROCESS                 允許使用SHOW FULL PROCESSLIST                   
REFERENCES              未被實施                   
RELOAD                  允許使用FLUSH                   
REPLICATION CLIENT      允許用戶詢問從屬服務器或主服務器的地址                   
REPLICATION SLAVE       用於複製型從屬服務器(從主服務器中讀取二進制日誌事件)                   
SELECT                  允許使用SELECT                   
SHOW DATABASES          SHOW DATABASES顯示所有數據庫                   
SHOW VIEW               允許使用SHOW CREATE VIEW                   
SHUTDOWN                允許使用mysqladmin shutdown                   
SUPER                   允許使用CHANGE MASTER, KILL, PURGE MASTER LOGS和SET GLOBAL語句,mysqladmin debug命令;允許您連接(一次),即使已達到max_connections。                   
UPDATE                  允許使用UPDATE                   
USAGE                   “無權限”的同義詞                   
GRANT OPTION            允許授予權限   
--------------------------------------------------------------------------------------


ALL或ALL PRIVILEGES代表指定權限等級的所有權限。
ALTER 允許使用ALTER TABLE來改變表的結構,ALTER TABLE同時也需要CREATE和INSERT權限。重命名一個表需要對舊錶具有ALTER和DROP權限,對新版具有CREATE和INSERT權限。
ALTER ROUTINE 允許改變和刪除存儲過程和函數
CREATE 允許創建新的數據庫和表
CREATE ROUTINE允許創建創建存儲過程和包
CREATE TABLESPACE允許創建、更改和刪除表空間和日誌文件組
CREATE TEMPORARY TABLES允許創建臨時表
CREATE USER 允許更改、創建、刪除、重命名用戶和收回所有權限
CREATE VIEW 允許創建視圖
DELETE 允許從數據庫的表中刪除行
DROP 允許刪除數據庫、表和視圖
EVENT 允許在事件調度裏面創建、更改、刪除和查看事件
EXECUETE 允許執行存儲過程和包
FILE 允許在服務器的主機上通過LOAD DATA INFILE、SELECT ... INTO OUTFILE和LOAD_FILE()函數讀寫文件
GRANT OPTION 允許向其他用戶授予或移除權限
INDEX 允許創建和刪除索引
INSERT 允許向數據庫的表中插入行
LOCK TABLE 允許執行LOCK TABLES語句來鎖定表
PROCESS 允許顯示在服務器上執行的線程信息,即被會話所執行的語句信息。這個權限允許你執行SHOW PROCESSLIST和mysqladmin processlist命令來查看線程,同時這個權限也允許你執行SHOW ENGINE命令
PROXY 允許用戶冒充成爲另外一個用戶
REFERENCES 允許創建外鍵
RELOAD 允許使用FLUSH語句
REPLICATION CLIENT允許執行SHOW MASTER STATUS,SHOW SLAVE STATUS和SHOW BINARY LOGS命令
REPLICATION SLAVE允許SLAVE服務器連接到當前服務器來作爲他們的主服務器
SELECT 允許從數據庫中查詢表
SHOW DATABASES允許賬戶執行SHOW DATABASE語句來查看數據庫。沒有這個權限的賬戶只能看到他們具有權限的數據庫。
SHOW VIEW 允許執行SHOW CREATE VIEW語句
SHUTDOWN 允許執行SHUTDOWN語句和mysqladmin shutdown已經mysql_shutdown() C API函數
SUPER 允許用戶執行CHANGE MASTER TO,KILL或mysqladmin kill命令來殺掉其他用戶的線程,允許執行PURGE BINARY LOGS命令,通過SET GLOBAL來設置系統參數,執行mysqladmin debug命令,開啓和關閉日誌,即使read_only參數開啓也可以執行update語句,打開和關閉從服務器上面的複製,允許在連接數達到max_connections的情況下連接到服務器。
TRIGGER 允許操作觸發器
UPDATE 允許更新數據庫中的表
USAGE 代表沒有任何權限
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章