在CentOS上对MySQL进行安全加固是一个重要的步骤,以确保数据库的安全性和稳定性。以下是一些常见的安全加固措施:
sudo sed -i 's/^port = 3306/port = 3307/' /etc/my.cnf
bind-address
为127.0.0.1
,并确保root用户只能本地登录。sudo sed -i 's/^bind-address = 127.0.0.1/bind-address = 127.0.0.1/' /etc/my.cnf
sudo sed -i 's/^skip-networking/skip-networking/' /etc/my.cnf
DELETE FROM mysql.user WHERE User='';
FLUSH PRIVILEGES;
RENAME USER 'root'@'localhost' TO 'new_root'@'localhost';
FLUSH PRIVILEGES;
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
ALTER USER 'admin'@'localhost' IDENTIFIED BY 'StrongPassword!';
FLUSH PRIVILEGES;
SET GLOBAL validate_password.policy = MEDIUM;
SET GLOBAL validate_password.length = 8;
sudo yum install mysql-audit-plugin
sudo systemctl enable mysql-audit
sudo systemctl start mysql-audit
sudo sed -i 's/^log_error = /log_error = \/var\/log\/mysql\/error.log/' /etc/my.cnf
sudo sed -i 's/^general_log = /general_log = 1/' /etc/my.cnf
sudo sed -i 's/^general_log_file = /general_log_file = \/var\/log\/mysql\/general.log/' /etc/my.cnf
sudo firewall-cmd --permanent --zone=public --add-port=3307/tcp
sudo firewall-cmd --reload
mysqldump
或其他备份工具定期备份数据库。mysqldump -u root -p --all-databases > /backup/all_databases.sql
sudo yum update mysql-server
通过以上步骤,可以显著提高CentOS上MySQL的安全性。请根据实际情况调整配置,并定期检查和更新安全设置。