mysql安装完成后如何进行安全加固

来源:这里教程网 时间:2026-02-28 20:10:24 作者:

MySQL 安装完成后,必须进行安全加固以防止未授权访问、数据泄露和潜在攻击。以下是关键的安全配置步骤,帮助你提升 MySQL 服务的整体安全性。

1. 运行 mysql_secure_installation 脚本

MySQL 提供了 mysql_secure_installation 工具,用于快速完成基本安全设置。

执行命令:

sudo mysql_secure_installation

该脚本会引导你完成以下操作:

设置强 root 密码 移除匿名用户 禁止 root 用户远程登录 删除测试数据库(test)及其相关权限 重新加载权限表使更改生效

2. 管理用户与权限

避免使用默认账户,尤其是 root,应创建专用用户并分配最小必要权限。

建议操作: 为每个应用创建独立用户,如 app_user@localhost 使用 GRANT 命令精确授权,例如:
GRANT SELECT, INSERT, UPDATE ON mydb.* TO 'app_user'@'localhost' IDENTIFIED BY 'StrongPass!123';
定期审查用户列表:
SELECT User, Host FROM mysql.user;
删除或禁用不必要的账户

3. 修改默认配置文件

编辑 MySQL 配置文件(通常位于 /etc/mysql/mysql.conf.d/mysqld.cnf/etc/my.cnf),增强安全性。

关键配置项: bind-address = 127.0.0.1:限制 MySQL 只监听本地连接,防止外部直接访问(除非需要远程访问) 关闭不需要的插件或功能,如 skip-symbolic-links 启用日志记录:
log_error = /var/log/mysql/error.log
general_log = 0(生产环境建议关闭通用日志)
设置 sql_mode 为严格模式,减少注入风险

4. 更新与补丁管理

保持 MySQL 版本更新,及时应用官方发布的安全补丁。

操作建议: 定期检查 MySQL 官方公告和 CVE 漏洞列表 通过系统包管理器(如 apt、yum)升级 MySQL 避免使用已停止维护的旧版本(如 5.6 及更早)

5. 启用防火墙限制访问

即使 bind-address 已设为本地,也应使用系统防火墙进一步控制端口访问。

例如使用 ufw: 仅允许可信 IP 访问 3306 端口:
sudo ufw allow from 192.168.1.100 to any port 3306
默认拒绝外部访问 MySQL 端口

6. 定期备份与监控

安全不仅在于防护,还包括可恢复性。

制定自动备份策略(如使用 mysqldump 或 xtrabackup) 监控异常登录行为和高频率查询 启用审计插件(如 MariaDB 的 Audit Plugin 或商业版 MySQL Enterprise Audit)

基本上就这些。只要按步骤清理账户、限制访问、更新系统并持续监控,MySQL 的安全性就能大幅提升。细节容易忽略,但每一步都关键。

相关推荐

热文推荐