我似乎无法从Azure Linux VM连接到MySQL服务器的Azure数据库

时间:2019-10-24 15:51:42

标签: azure azure-virtual-machine azure-virtual-network azure-mysql-database

我在Azure中部署了Linux虚拟机(Debian 9),并且已启用并正确添加了Sql的服务端点-如果将门户导航到VNet并进入“服务端点”选项卡,则可以清楚地看到列出的Sql服务端点。仅供参考,服务端点的原因是VM具有动态IP,因此我不能仅将它列入数据库资源的配置中。

另一方面,我在相同的资源组,相同的位置以及其他任何地方都部署了一个“用于MySQL服务器的Azure数据库”,但是我似乎无法连接到它。

我尝试连接时所采取的步骤如下:

  • 我通过SSH连接到VM。
  • 在我的VM中,我已经安装了mysql-server
  • 我写了mysql --host <fully qualified server name> --user <server admin login name>@<server name> -p
  • 我收到以下错误消息:“错误9002(28000):服务器尚未准备好进行传入连接。”

由于某些原因,我一直在阅读文档并在论坛中进行搜索,但我似乎无法使其正常工作。我尝试更改数据库资源的“连接安全性”选项卡中“允许访问Azure服务”选项的状态,但这似乎无关紧要。

任何人都对我如何解决这个问题有任何想法吗?

1 个答案:

答案 0 :(得分:1)

您说过在虚拟网络上启用了SQL端点,但是是否向实例添加了VNET规则(附加了现有的VNET)?您可以在 MySQL服务器的Azure数据库->连接安全性-> VNET规则->附加现有的VNET 中找到它。

如果看不到列出的VNET,则说明SQL Server和VNET的区域之间不匹配:必须将它们部署到同一区域。另外,请检查您是否具有通用服务器或内存优化服务器,此功能在基本层中不可用。

如果所有这些都准备就绪,请尝试在SQL Server上启用诊断,尝试再次登录几次,然后查看日志文件并发布任何奇怪的内容。