【发布时间】:2017-03-20 19:53:30
【问题描述】:
我搜索了很多但无法解决这个问题。 我能够访问在不同 Windows 机器上运行的 MySQL 服务器。我采取的步骤是
- 将 my.ini 文件绑定地址更改为 0.0.0.0
-
GRANT ALL PRIVILEGES ON DATABASE.* TO user@'%' IDENTIFIED BY 'password';创建用户并授予权限 - 从命令行到windows MySQL服务器
mysql -h windows server ip -u user -p
它工作正常,从 MySQL 工作台我可以从我的机器连接到 Windows MySQL 服务器。但是在 Linux 虚拟机中我做了同样的事情
- 更改 my.cnf 文件并将绑定地址更改为 0.0.0.0。
-
GRANT ALL PRIVILEGES ON DATABASE.* TO user@'%' IDENTIFIED BY 'password';创建用户并授予权限 -
从命令行到 LINUX MySQL 服务器
mysql -h linux server ip -u user -p但为此我在输入密码后出现以下错误 ERROR 2003 (HY000): Can't connect to MySQL server on 'linux server ip' (10060) 同样,当从 c# 连接时,请遵循以下操作连接字符串
<add name="MySqlConnection" connectionString="Server=LINUX_VM_SERVER_IP;Database=database;Uid=user;Pwd=password" providerName="MySql.Data.MySqlClient" />我收到错误:无法找到并指定 mysql 主机 我已在 LINUX_VM 中检查 0.0.0.0:3306 处于侦听状态。
如果我尝试使用
/>telnet LINUX_VM_IP 3306远程登录 LINUX_VM MYSQL Server 服务,我得到 错误:连接到 LINUX_VM_IP...无法在端口 3306 上打开与主机的连接:
【问题讨论】:
-
您是否尝试从 Azure 外部连接(例如您的本地计算机)?很难说清楚,因为你从来没有指定细节 - 只是很多配置和错误。
-
如果您使用了默认的市场模板,那么您的网络安全组 (NSG) 将没有针对 MySQL 的入站规则,因此您需要添加该规则。跨度>
-
我正在尝试从 azure 外部进行连接。来自我的本地机器 MySQL 工作台以及来自 c# Web API。虚拟机内的数据库连接正在使用 vm 中的本地托管应用程序进行工作和测试。但是这些是我在连接到 azure Linux VM 之外尝试并得到的错误。
标签: mysql linux azure mysql-workbench azure-virtual-machine