【问题标题】:I cant access my mysql server hosted on azure from remote我无法从远程访问托管在 azure 上的 mysql 服务器
【发布时间】:2019-12-05 11:12:47
【问题描述】:

大家晚上好,我已经用 ubuntu 服务器设置了一个 azure 服务器,并安装了一些我需要运行的 python 代码的 MySQL,我已经关闭了 Ubuntu 上的防火墙并在 azure 上设置了端口转发,但我仍然无法连接使用工作台从我的电脑到 MySQL,我也安装了 PHPMyAdmin,但我也无法连接到它,我不确定我还能尝试什么,我已经开始在本地电脑上设置一个新服务器,但我会的在云端

【问题讨论】:

  • 您是否在您的虚拟机网络接口的网络安全组上启用了 3306 端口?如果没有,请启用它。您可以在您的 VM =>Networking=>Inbound 端口规则上检查它。有关网络安全组的详细信息,请参阅此文档:docs.microsoft.com/en-us/azure/virtual-network/…
  • 是的,这里有一个指向端口ibb.co/0ZQJhLb的链接
  • 嗨@ADBY,怎么样?你的问题解决了吗?
  • 嗨@ADBY,如果我的回答对您有帮助,请将其标记为答案。如果您每次都标记有用的答案,会有更多的人很乐意为您提供帮助

标签: mysql azure ubuntu azure-virtual-machine


【解决方案1】:

我创建了一个 Linux (ubuntu 18.04) 虚拟机,在上面设置了一个 mysql 并在我的本地成功访问它。这是我的以下步骤:

1.在 Azure 门户上启用 3306 端口:

2.连接Azure VM,运行以下命令安装mysql:

sudo -i 
apt install mysql-server

3.你的mysql安装好后,修改/etc/mysql/mysql.conf.d/mysqld.cnf中的“bind-address”指令,修改127.0.0.1为0.0.0.0,确保你的mysql服务器会监听在你所有虚拟机的 ips 上:

vim /etc/mysql/mysql.conf.d/mysqld.cnf

保存你的修改并重启你的mysql服务器:

systemctl restart mysql

这次可以ping通我的vm的3306端口了:

如果你的 mysql 服务器在你的虚拟机上运行成功,但是你不能 ping 它,如果错误信息超时,请检查你的防火墙设置,如果错误信息是远程服务器拒绝你的请求,这意味着3306端口没有服务监听。

4.在mysql上创建一个用户,这样我们就可以用这个账号从本地连接mysql了:

CREATE USER 'stan'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'stan'@'%'  WITH GRANT OPTION;

好吧,尝试使用navicat从本地连接到mysql:

从本地成功连接到 Azure Linux VM 上的 mysql :

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    • 2013-07-17
    • 1970-01-01
    相关资源
    最近更新 更多