MySQL 安装完成后,配置安全策略是保障数据库系统稳定运行和数据安全的重要步骤。默认安装往往存在安全隐患,比如空密码、匿名用户、远程 root 登录等。以下是关键的安全配置方法,帮助你快速加固 MySQL 环境。
1. 运行 mysql_secure_installation 脚本
MySQL 提供了一个内置的安全配置工具 mysql_secure_installation,可一键完成多项基础安全设置。
执行命令:sudo mysql_secure_installation
该脚本会引导你完成以下操作:
设置 root 用户的强密码 移除匿名用户(anonymous user) 禁止 root 用户远程登录 删除测试数据库(test database)及其访问权限 刷新权限表,使更改立即生效2. 创建专用数据库用户并授权
避免使用 root 账户连接应用,应为每个应用创建独立用户,并遵循最小权限原则。
示例操作:登录 MySQL:
mysql -u root -p
创建用户并赋予权限:
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'StrongPassword123!'; GRANT SELECT, INSERT, UPDATE ON mydb.* TO 'appuser'@'localhost'; FLUSH PRIVILEGES;如需从特定主机访问,可将 'localhost' 替换为 IP,例如 'appuser'@'192.168.1.100',避免使用 '%' 允许任意主机。
3. 修改默认端口与绑定地址
MySQL 默认监听 3306 端口并绑定到所有网络接口(0.0.0.0),增加被扫描攻击的风险。
编辑 MySQL 配置文件(通常位于 /etc/mysql/mysql.conf.d/mysqld.cnf 或 /etc/my.cnf):
修改 port = 3307(或其他非标准端口) 设置 bind-address = 127.0.0.1 仅允许本地连接 若需远程访问,建议绑定到内网 IP,如 192.168.1.10修改后重启服务:sudo systemctl restart mysql
4. 启用日志审计与错误监控
开启通用日志和错误日志有助于发现异常行为。
在配置文件 [mysqld] 段添加:
general_log = ON general_log_file = /var/log/mysql/general.log log_error = /var/log/mysql/error.log注意:通用日志会影响性能,生产环境建议按需开启或使用慢查询日志替代。
5. 定期更新与漏洞修复
保持 MySQL 版本更新,及时应用官方发布的安全补丁。
关注 MySQL 官方公告和 CVE 漏洞报告 使用包管理器定期更新(如 apt upgrade mysql-server) 避免使用已停止支持的旧版本(如 5.7 之后版本更安全)基本上就这些。合理配置用户权限、关闭不必要的服务暴露、启用日志监控,能显著提升 MySQL 的安全性。
