如何在 Google Compute Engine 服务器上安装 MySQL?

如何在 Google Compute Engine 服务器上安装 MySQL?

我最近一直在尝试设置一个计算引擎实例,用于托管我的一个项目的 SQL 数据库。问题是,每次我设置实例并安装好所有内容时,我在 Google 防火墙中打开的端口仍然处于关闭状态,我无法从外部连接到我的 SQL 服务器。

到目前为止,我已经做了以下事情,但都失败了:

  1. 使用mysql-server而不是mariadb-server
  2. 使用 Debian 8 代替 Ubuntu 16.04 LTS
  3. 创建允许所有入口流量的实例

所有这些都导致nmap显示端口为closed(以及我在创建实例时允许的端口 80 和 443),并且我本地计算机上的 MySQL 客户端无法连接到服务器。

ufw每次都已将其禁用,因此它应该不会引起任何问题。

答案1

我最终解决了这个问题 - Zeb 和我一起合作。这根本不是 GCP 的问题,它拒绝mysql连接,因为在位于 的配置中默认bind-address设置为。127.0.0.1/etc/mysql/mysql.conf.d/mysqld.cnf

# 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

在配置中更改之后,mysql正在监听,0.0.0.0:3306如下图所示netstat -plutn

然后您需要添加具有访问权限的远程用户,然后这篇文章完美地解释了这一点。

经过大量的挖掘,希望这可以为遇到此问题的任何人来说都澄清事实。

相关内容