编辑2:
通过在Azure门户上打开3306端口解决了该问题。我去了VM > Networking
并添加了一个Inbound Rule
。来自外部的连接立即开始工作。
我在Azure的Windows Server 2012虚拟机上安装了MySql 5.7。端口3306已打开,我运行以下命令以允许远程访问:
GRANT ALL PRIVILEGES
ON db_name.* TO 'user'@'%'
IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
我重新启动了MySql服务,并尝试再次连接。但是仍然存在相同的错误:
MySQL said: Can't connect to MySQL server on 'servername.eastus.cloudapp.azure.com' (4)
我想念什么?
编辑:我查看了“重复”消息中的两个链接。但是看来机器上的my.ini
没有任何问题。具体来说,没有
#bind-address = 127.0.0.1
# skip-external-locking
可以被注释掉。文件中没有提及任何IP地址。唯一隐约相关的部分是这个
[mysqld]
# The next three options are mutually exclusive to SERVER_PORT below.
# skip-networking
# enable-named-pipe
# shared-memory
# shared-memory-base-name=MYSQL
# The Pipe the MySQL Server will use
# socket=MYSQL
# The TCP/IP Port the MySQL Server will listen on
port=3306
所以我仍然没有答案。