MySQL是一款流行的開源關系型數據庫管理系統,但是安全性問題也是需要關注的。MySQL提供了豐富的安全性控制語句,可以幫助保護數據庫的安全性。
1. 創建用戶 CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; CREATE USER 'username'@'%' IDENTIFIED BY 'password'; 其中'username'為用戶名,'password'為密碼,'localhost'和'%'分別是限制用戶的訪問范圍為本地和所有主機。 2. 授予權限 GRANT privilege_type ON database_name.table_name TO 'username'@'localhost'; GRANT privilege_type ON database_name.table_name TO 'username'@'%'; 其中'privilege_type'為授權類型,如SELECT、INSERT、UPDATE、DELETE等。 3. 撤銷權限 REVOKE privilege_type ON database_name.table_name FROM 'username'@'localhost'; REVOKE privilege_type ON database_name.table_name FROM 'username'@'%'; 4. 修改用戶密碼 ALTER USER 'username'@'localhost' IDENTIFIED BY 'new_password'; ALTER USER 'username'@'%' IDENTIFIED BY 'new_password'; 5. 刪除用戶 DROP USER 'username'@'localhost'; DROP USER 'username'@'%'; 6. 加密密碼 UPDATE mysql.user SET password=PASSWORD('password') WHERE User='username'; 7. 數據庫加密 SET GLOBAL innodb_file_per_table=1; SET GLOBAL innodb_file_format=Barracuda; 在創建新表時,使用ENCRYPTION='Y'參數進行加密。 8. 安全備份 使用密碼加密備份:mysqldump -u username -ppassword --all-databases | gzip >backup.sql.gz 使用SHA-256加密備份:mysqldump -u username -ppassword --all-databases | openssl sha256 | gzip >backup.sql.gz 9. 加強密碼策略 修改密碼有效期:ALTER USER 'username'@'localhost' PASSWORD EXPIRE INTERVAL 60 DAY; 設置密碼復雜度:ALTER USER 'username'@'localhost' REQUIRE STRONG PASSWORD;
上一篇MySQL安全 面試
下一篇mysql 日期 星期幾