配置mysql安全需先限制网络访问,绑定内网地址并配置防火墙;再强化账户安全,设置强密码、删除匿名用户及测试数据库;接着修改配置文件,禁用符号链接、关闭远程root登录;最后遵循最小权限原则,创建专用账户并定期审查权限。

在环境搭建过程中,配置 MySQL 的安全性选项是保障数据库稳定和数据安全的关键步骤。合理的安全设置能有效防止未授权访问、数据泄露和常见攻击。以下是几个核心的安全配置建议。
启用并配置防火墙规则
限制对 MySQL 服务端口(默认 3306)的访问范围,只允许可信 IP 地址连接。
- 使用系统防火墙(如 iptables、firewalld 或云服务商安全组)限制 3307 端口的来源 IP
- 若应用与数据库在同一内网,绑定 MySQL 到内网地址(如 192.168.x.x),避免监听 0.0.0.0
修改默认账户与密码策略
MySQL 安装后默认存在 root 账户,需强化其安全性。
- 为 root 账户设置强密码,避免使用默认或空密码
- 删除匿名用户:DROP USER if EXISTS ”@’localhost’;
- 删除非必要的默认账户和测试数据库:DROP database IF EXISTS test;
- 启用密码强度策略,在配置文件中添加:validate_password_policy=MEDIUM
配置 MySQL 配置文件安全参数
编辑 my.cnf 或 my.ini 文件,调整关键安全选项。
- 绑定地址限制:设置 bind-address = 127.0.0.1(仅本地)或内网 IP
- 禁用符号链接:添加 symbolic-links=0 防止文件系统滥用
- 关闭远程 root 登录:skip-networking 可完全禁用 TCP 连接(适用于本地应用)
- 启用日志审计(如支持):记录登录和操作行为,便于追踪异常
最小权限原则分配用户权限
为应用程序创建专用数据库账户,并授予最小必要权限。
- 避免使用 root 账户连接应用
- 创建独立用户并限定其访问的数据库:
CREATE USER ‘appuser’@’192.168.1.%’ IDENTIFIED BY ‘StrongPass!2024’;
GRANT select, INSERT, UPDATE ON appdb.* TO ‘appuser’@’192.168.1.%’; - 定期审查用户权限,移除不再使用的账户
基本上就这些。通过合理配置网络访问、强化账户管理、启用安全参数和遵循权限最小化原则,可以显著提升 MySQL 的安全性。这些措施在开发、测试和生产环境中都应落实。不复杂但容易忽略。


