目录导航
一、配置MySQL服务器
修改MySQL配置文件是远程访问的前提步骤。在Ubuntu系统中需编辑/etc/mysql/mysql.conf.d/mysqld.conf
文件,将bind-address
参数从默认的127.0.0.1
改为0.0.0.0
,使服务监听所有网络接口。Windows系统需修改my.ini
文件,操作完成后需重启MySQL服务生效。
二、设置用户远程访问权限
通过MySQL命令行执行以下操作:
- 创建允许远程登录的用户:
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
- 授予全局权限:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;
- 刷新权限配置:
FLUSH PRIVILEGES;
建议将%
替换为具体IP地址以提高安全性。
三、配置防火墙规则
需在服务器防火墙开放3306端口:
- Linux系统使用
firewalld
:
firewall-cmd --permanent --add-port=3306/tcp
- Windows系统在防火墙高级设置中添加入站规则
四、高级连接方式(可选)
以下方法可增强安全性:
- SSH隧道:建立加密通道连接远程服务器,避免直接暴露数据库端口
- 反向代理:通过Nginx等工具转发请求,增加访问控制层
- 路由侠工具:实现内网穿透,适合无公网IP场景
实现MySQL远程访问需完成服务端配置、用户授权和防火墙放行三要素。建议优先采用IP白名单机制和SSH隧道等安全连接方式。对于临时测试场景,可使用%
通配符简化配置,但生产环境应严格限制访问源。