我无法从远程访问托管在azure上的mysql服务器

我无法从远程访问托管在azure上的mysql服务器,mysql,azure,ubuntu,azure-virtual-machine,Mysql,Azure,Ubuntu,Azure Virtual Machine,晚上好,我已经用ubuntu服务器安装了一个azure服务器,安装了MySQL和一些需要运行的python代码,我已经关闭了ubuntu上的防火墙并在azure上安装了转发端口,我仍然无法使用workbench从我的pc连接到MySQL,我也安装了PHPMyAdmin,但我也无法连接到它,我不确定我还能尝试什么,我已经开始在本地pc上安装新服务器,但我会在云上安装它我创建了一个Linux Ubuntu18.04虚拟机,在它上安装了mysql,并在本地成功访问它。以下是我的步骤: 1.在Azure

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

我创建了一个Linux Ubuntu18.04虚拟机,在它上安装了mysql,并在本地成功访问它。以下是我的步骤:

1.在Azure portal上启用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服务器将侦听所有VM的IP:

vim /etc/mysql/mysql.conf.d/mysqld.cnf
保存修改并重新启动mysql服务器:

systemctl restart mysql
这次可以成功ping我的vm的3306端口:

如果您的mysql服务器在您的VM上成功运行,但您无法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:


希望能有帮助

您是否已在VM网络接口的网络安全组上启用3306端口?如果没有,请启用它。您可以在VM=>网络=>入站端口规则上检查它。有关网络安全组的详细信息,请参阅此文档:是的,这里有指向ports Hi@ADBY的链接,进展如何?你的问题解决了吗?嗨@ADBY,如果我的答案对你有帮助,请将其标记为答案。如果你每次都标记出有用的答案,更多的人会乐于帮助你