配置核心参数
修改MySQL配置文件是允许远程连接的基础操作。在Linux系统中,配置文件通常位于/etc/mysql/my.cnf
或/etc/mysql/mysql.conf.d/mysqld.cnf
,Windows系统则位于安装目录的my.ini
。
- 定位
bind-address = 127.0.0.1
配置项 - 将其修改为
bind-address = 0.0.0.0
- 确认端口参数
port = 3306
未被注释
修改完成后需重启MySQL服务生效,Linux系统使用sudo systemctl restart mysql
命令,Windows通过服务管理器操作。
创建远程用户
通过MySQL命令行创建专用远程账户:
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'StrongPass123!';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%';
FLUSH PRIVILEGES;
其中%
表示允许任意IP访问,建议生产环境替换为具体IP段。若需保留root账户远程访问,建议增加密码复杂度并限制访问IP。
防火墙与网络
需在服务器防火墙开放MySQL端口:
系统 | 命令 |
---|---|
Linux (ufw) | sudo ufw allow 3306/tcp |
Windows | 高级安全防火墙新建入站规则 |
云服务器还需在安全组配置端口放行规则。
安全建议
- 避免直接使用root账户远程连接
- 定期审计用户权限分配
- 启用SSL加密传输协议
- 配置fail2ban防御暴力破解
建议通过VPN或SSH隧道建立二次加密通道访问敏感数据库。
正确配置MySQL远程访问需要综合网络层、服务层和应用层的安全策略。建议通过最小权限原则分配账户权限,配合网络防火墙和日志监控构建多层防御体系。