无法连接远程MySQL服务器需依次检查五方面:一、修改MySQL用户权限,将主机设为%或指定IP;二、调整my.cnf中bind-address为0.0.0.0并禁用skip-networking;三、宝塔安全页放行3306端口;四、云平台配置安全组开放3306;五、用客户端测试连接并排查链路问题。

如果您在宝塔面板中配置数据库连接时提示“无法连接远程MySQL服务器”,则可能是MySQL服务未开放远程访问权限或防火墙策略限制了3306端口通信。以下是开启远程访问权限的具体操作步骤:
一、修改MySQL用户权限
MySQL默认仅允许本地(localhost)用户访问,需为指定用户授予从任意主机或特定IP地址登录的权限。该操作通过执行SQL命令实现,直接影响用户认证范围。
1、登录宝塔面板,进入【数据库】页面。
2、点击目标数据库对应的【管理】按钮,进入phpMyAdmin界面。
3、在顶部导航栏选择【用户账户】选项卡。
4、找到需要远程访问的数据库用户,点击右侧【编辑权限】。
5、在【登录信息】区域将【主机】字段由 localhost 修改为 %(允许所有IP)或指定远程服务器IP(如 192.168.1.100)。
6、滚动到底部,勾选【全局权限】中的【SELECT】【INSERT】【UPDATE】【DELETE】【CREATE】【DROP】【ALTER】【INDEX】等必要权限。
7、点击【执行】保存更改。
二、检查并修改MySQL配置文件
MySQL服务默认绑定到127.0.0.1,导致外部网络请求被拒绝。需调整bind-address参数以监听所有网络接口或指定公网IP。
1、在宝塔面板中进入【文件】,定位至 /www/server/mysql/etc/my.cnf。
2、点击该文件右侧【编辑】图标。
3、查找包含 bind-address 的行,将其值修改为 0.0.0.0(监听全部IPv4地址)或注释掉该行(在行首添加 #)。
4、确认文件中 skip-networking 参数未启用;若存在,请删除或注释该行。
5、保存文件后,返回【软件商店】,找到MySQL服务,点击【重启】。
三、放行服务器防火墙端口
即使MySQL已允许远程连接,系统防火墙仍可能拦截3306端口的入站流量。需确保该端口对目标IP或全部来源开放。
1、在宝塔面板中进入【安全】页面。
2、检查【防火墙】列表中是否已添加3306端口规则;若无,则点击【添加放行端口】。
3、在端口输入框中填写 3306,协议选择TCP,来源IP可填 0.0.0.0/0(全网开放)或限定具体IP段。
4、点击【提交】保存规则。
5、确认防火墙状态为【运行中】,且新规则已生效。
四、检查云服务商安全组策略
若服务器部署于阿里云、腾讯云、华为云等平台,其独立的安全组机制会覆盖系统防火墙设置,必须单独配置入方向规则。
1、登录对应云厂商控制台,进入【云服务器ECS】管理页。
2、找到当前服务器实例,点击【更多】→【网络和安全组】→【配置安全组】。
3、在入方向规则中点击【添加安全组规则】。
4、协议类型选择 TCP,端口范围填写 3306/3306,授权对象填写远程客户端IP或 0.0.0.0/0。
5、点击【确定】完成添加,并确认规则状态为【已生效】。
五、验证远程连接可用性
完成上述配置后,需使用外部客户端工具测试连接是否成功,排除中间链路干扰因素。
1、在远程电脑上安装MySQL客户端(如MySQL Workbench、Navicat或命令行mysql工具)。
2、新建连接,主机地址填写服务器公网IP,端口保持3306,用户名与密码使用宝塔中设置的数据库账号。
3、点击【测试连接】,观察返回结果是否为 Connection successful。
4、若失败,依次检查:服务器是否重启MySQL服务、防火墙是否重启、安全组是否生效、远程IP是否被误封。










