我最近一直在试图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.cnf
configuration文件中, 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
所示。
然后你需要添加一个远程访问的用户, 这篇文章解释完美。
采取了很多挖掘,所以希望这清除了谁跑过这个问题的其他人。