mysql外部访问踩坑
起因
项目用.Net开发,在mac上运行,可能是版本问题,想试试在windows下部署,就用parallels起了个windows,但windows却无法连接宿主mac上的mysql,最后折腾了一天才解决。
排查
-
宿主机和虚拟机互ping
- 这是排查的一个方向,但parallels默认就是能互联的,如果ping不通,需要配置为共享网络
-
宿主机和虚拟机端口检查
- 用telnet测试端口是否可用,telnet host port,host是宿主和虚拟机ip,post是mysql端口,不通则要在防火墙开端口,或者直接关掉防火墙
-
外部连接授权
- 这个是要配置的,参考:https://zhuanlan.zhihu.com/p/587097435
-
配置问题
- 完成上面的配置后,发现宿主机mac能连上虚拟机windows的mysql,但虚拟机连不上宿主机的mysql,最终把宿主机的my.cnf文件的bind-address从127.0.0.1改成0.0.0.0,重启mysql才解决
参考:https://developer.baidu.com/article/details/2694171