本地MySQL服务器无法远程连接(Databricks/Colab),求排查要点
关键排查配置与遗漏步骤
- 确认用户授权的访问范围:检查
spark用户的允许访问IP,执行SELECT user, host FROM mysql.user WHERE user='spark';。如果host值是localhost或127.0.0.1,说明该用户仅能本地访问,需重新授权:
其中MySQL 8.0及以上版本:
CREATE USER 'spark'@'%' IDENTIFIED BY '你的用户密码'; GRANT ALL PRIVILEGES ON *.* TO 'spark'@'%'; FLUSH PRIVILEGES;低版本可直接执行:
GRANT ALL PRIVILEGES ON *.* TO 'spark'@'%' IDENTIFIED BY '你的用户密码'; FLUSH PRIVILEGES;%代表允许所有IP访问,也可指定为172.24.32.1。 - 修正MySQL配置文件:你用
skip-connecting注释bind-address的操作错误,该参数不存在,会导致配置失效。正确操作是将my.ini中的bind-address改为0.0.0.0(允许所有IP绑定),或者直接注释掉该行,修改后必须重启MySQL服务:net stop MySQL80 && net start MySQL80 - 验证端口监听状态:打开命令提示符执行以下命令,确认MySQL是否监听了指定IP的3306端口:
若输出仅显示netstat -ano | findstr ":3306"127.0.0.1:3306,说明MySQL仍仅绑定本地回环地址,配置未生效。 - 测试本地IP连通性:在本机用PowerShell执行测试命令,确认端口是否可访问:
若不通,说明MySQL服务未正确绑定该IP,需重新检查配置文件并重启服务。Test-NetConnection 172.24.32.1 -Port 3306 - 排查网络环境限制:Databricks和Colab属于云环境,若你的本机处于内网(公司局域网、家庭网络),需确认:
- 路由器是否配置了端口映射,将公网3306端口映射到本机IP
172.24.32.1的3306端口; - 本机是否拥有公网IP,部分内网环境仅能通过内网访问,无法被云服务直接连接;
- 部分运营商会屏蔽3306端口,可尝试临时修改MySQL端口(比如3307)后再测试连接。
- 路由器是否配置了端口映射,将公网3306端口映射到本机IP
内容的提问来源于stack exchange,提问作者Minh Trit D
相关产品推荐
相关产品推荐

