远程访问MySQL服务器

3
我通过ssh连接Google计算引擎的虚拟磁盘手动安装了mysql。我已经按照mysql-adding-user-for-remote-access创建了用户,并绑定了地址= 0.0.0.0,然后重新启动mysql服务。当我使用外部IP地址和创建的用户远程连接时,它无法正常工作。我该如何连接?我正在使用HeidiSQL mysql客户端工具。
提前感谢您的帮助。
2个回答

5

默认情况下,Google Cloud平台上的MySQL端口是关闭的。如果您想允许外部访问,您应该在防火墙中打开该端口。

要执行此操作,您可以运行以下命令(使用gcloud):

    $ gcloud compute firewall-rules create "mysql-remote-access" --allow tcp:3306 --source-tags "mysql-client" --target-tags "mysql-server"

(或使用 CONSOLE 进行操作:https://console.cloud.google.com/firewalls/add?_ga=1.140859190.569287361.1481048942
请注意,您还需要在 MySQL 中创建一个用户,并将该用户的访问权限授予您自己的 IP,然后设置该用户的权限以允许访问您正在使用的数据库。

我正在通过SSH连接到GCE,然后使用sudo执行您的命令,但是它给出了这个错误:ERROR: (gcloud.compute.firewall-rules.create) Some requests did not succeed: - Insufficient Permission。 - jemz
@jemz,你确定你有足够的权限来执行这个命令吗?阅读这篇文章:https://cloud.google.com/solutions/mysql-remote-access - Dekel
1
我需要安装 Google Cloud SDK 吗?我认为我有足够的权限,因为我可以安装像 Composer、PHP 等软件。我不知道为什么会出现 "权限不足" 的错误。 - jemz
这些权限是针对机器(本地)而不是gcloud的。 - Dekel
我对这些标签“实例标签”和目标标签“mysql-server”感到困惑。 - jemz
我使用控制台,然后只是使用允许流量0.0.0.0,因为我不知道在哪里创建标签,所以我只能使用0.0.0.0。 - jemz

2
在我的情况下,除了使用Google VPC网络打开端口之外,我还必须在Windows中打开防火墙。请确保在Windows防火墙应用程序中MySQL 57旁边的公共和私有框都被选中。
请参考以下截图:enter image description here

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接