为了防止MySQL在CentOS系统上被攻击,可以采取以下措施:
sudo yum update
sudo yum update mysql-server
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload
sudo setsebool -P mysql_connect_any 0
sudo setsebool -P httpd_can_network_connect_db 0
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPassword';
FLUSH PRIVILEGES;
UPDATE mysql.user SET Host = 'localhost' WHERE User = 'root';
FLUSH PRIVILEGES;
GRANT SELECT, INSERT, UPDATE ON your_database.* TO 'your_user'@'localhost';
FLUSH PRIVILEGES;
sudo vi /etc/my.cnf.d/server.cnf
添加以下配置:[mysqld]
ssl-ca=/path/to/ca-cert.pem
ssl-cert=/path/to/server-cert.pem
ssl-key=/path/to/server-key.pem
重启MySQL服务:sudo systemctl restart mysqld
[mysqld]
general_log = 1
general_log_file = /var/log/mysql/general.log
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow-query.log
long_query_time = 2
log_queries_not_using_indexes = 1
grep或日志分析工具定期检查日志文件。mysql_native_password插件替代旧的认证插件。ALTER USER 'your_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourStrongPassword';
FLUSH PRIVILEGES;
mysqldump -u root -p --all-databases > /path/to/backup/all-databases.sql
通过以上措施,可以大大提高CentOS系统上MySQL数据库的安全性,减少被攻击的风险。