我无法从远程访问Azure托管的mysql服务器

时间:2019-12-05 11:12:47

标签: mysql azure ubuntu azure-virtual-machine

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

1 个答案:

答案 0 :(得分:0)

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

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

enter image description here

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

enter image description here

保存您的修改并重新启动mysql服务器:

systemctl restart mysql

这次,可以成功ping我的vm的3306端口: enter image description here

如果您的mysql服务器已成功在VM上运行,但您无法ping通,则错误信息为timeout,请检查防火墙设置,如果错误信息为remote server拒绝了您的请求,则表示在3306端口上没有监听的服务。

4。在mysql上创建一个用户,以便我们可以使用此帐户从本地连接到mysql:

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

enter image description here

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

enter image description here

从本地成功连接到Azure Linux VM上的mysql: enter image description here

希望有帮助。