我最近一直在试图build立一个计算引擎实例,为我的一个项目托pipe一个SQL数据库。 问题是,每次我build立一个实例并安装所有东西时,我在Google的防火墙中打开的端口仍然是closures的,我无法从外部连接到我的SQL服务器。
到目前为止,我做了以下事情,导致失败:
mysql-server而不是mariadb-server 所有这些导致nmap显示端口被closed (以及在创build实例时允许的端口80和443),并且本地计算机上的MySQL客户端无法连接到服务器。
我每次都禁用ufw ,所以不应该引起任何问题。
我最终解决了这个问题 – Zeb和我一起工作。 这完全不是GCP的问题,它是由于mysql拒绝连接,因为在/etc/mysql/mysql.conf.d/mysqld.cnfconfiguration文件中, bind-address被默认设置为127.0.0.1 。
# Instead of skip-networking the default is now to listen only on` # localhost which is more compatible and is not less secure. bind-address = 0.0.0.0 # 127.0.0.1 previously, changed to allow remote connections
在configuration文件中更改后, mysql正在监听0.0.0.0:3306 ,如netstat -plutn所示。
然后你需要添加一个远程访问的用户, 这篇文章解释完美。
采取了很多挖掘,所以希望这清除了谁跑过这个问题的其他人。