远程连接和MySQL的Ubuntu?

我有Ubuntu运行在VMWare。 我安装了MySQL 5服务器,并注释掉绑定地址,然后重新启动mysql服务器。 我现在试图连接到MySQL,但我不能。 我尝试使用1)代码和2)从MySql网站gui应用程序。 都报告它不能访问服务器。 我需要做什么才能连接?

一些事情可能会导致(防火墙,其他入站端口阻塞问题,VMWare NAT'ed没有端口转发,MySQL不听正确的接口/ MySQL没有运行networking,不正确的MySQL授予…)

需要考虑的事项:

  • MySQL是否正在运行并与networking一起运行(您可能需要指定一个用户名/密码)?
     mysqladmin --protocol = socket ping#检查是否可以通过UNIX套接字访问
     mysqladmin --protocol = tcp ping#检查是否可通过本地TCP / IP访问
     mysqladmin --protocol = tcp --host = ipaddress ping#检查是否可以通过外部IP访问(MySQL可以configuration为只监听环回地址,也可以configuration为* skip-networking *完全)
  • 机器是否可以从其他机器访问? 跑
      nmap -sT -p 22,3306 ipaddress 

    从另一台机器上,这将显示机器是否可以在SSH / MySQL端口上访问。

  • 如果虚拟机运行在NAT组网模式下(而不是桥接),那么您需要确保将正确的端口转发到机器的真实IP地址,否则使用NAT地址(在可访问的地方)进行通信
  • VM上是防火墙还是虚拟机主机阻止访问端口3306(默认MySQL端口)? 检查你的防火墙规则(iptables -L的iptables)。
  • 如果你通过DNS访问MySQL服务器,是DNS导致的问题? 在这种情况下,您可以尝试使用IP地址而不是主机名来连接,以消除这种可能性
  • 如果login在机器上,但是远程机器的权限被拒绝,请记住MySQL使用用户名,密码和主机名(允许通配符)执行访问控制。 您可能需要调整授权表。

我希望有一些/这些帮助你find问题!

Lockie

你也可以在MySql服务器上做一些类似于“sudo tcpdump port mysql”的东西,看看你在从远程客户端连接时是否有任何数据包。 这将有助于缩小问题所在的networking的哪一侧。