2012-01-06 55 views
1

我刚刚建立了一个新的LAMP服务器。我可以通过终端连接到mysql。我的目标是使用MySQL工作台通过标准TCP/IP进行连接,但是我只能通过SSH通过标准TCP/IP进行连接能够通过标准TCP/IP通过SSH连接到mysql工作台,但无法通过标准(TCP/IP)连接

下面是我从mysql工作台获得的错误消息,当我尝试通过标准(TCP/IP):

无法连接到MySQL在12.34.56.78:3306与用户root

无法连接到MySQL服务器上的'12 .34.56.78' (10061)

其他信息

  • Linux版本的2.6.32-37泛型-PAE(buildd @韦尔纳茨基)(gcc版本4.4.3 (Ubuntu的4.4.3-4ubuntu5))#81-Ubuntu的SMP星期五12月02日22时24分22秒UTC 2011
  • 的MySQL版本14.14 5.1.41 DISTRIB,使用
    的readline 6.1
  • OpenSSH_5.3p1 Debian的3ubuntu7 Debian的Linux-GNU(1486),OpenSSL的0.9.8k 25 2009年3月
  • 我ssh到从Windows 7计算机上的腻子服务器。

任何有关如何通过mysql工作台连接的线索(我在防火墙上打开了正确的端口)?

+0

在服务器上,输出是什么:sudo netstat -nplt | grep -i mysql – 2012-01-06 07:42:11

回答

2

恕我直言,你应该尝试找出问题。能够判断您是否可以通过命令行从mysql客户端连接到远程MySQL服务器将会很棒。所以开在同一台机器用来运行Workbench和类型终端:

mysql -u root -p -h your.ip.add.ress

根据我的经验,这是最有可能的是你有你的服务器的配置问题。上面的命令会让你知道服务器端是否有问题。如果是这样的话,很多连接问题都会与匿名帐户相关联。如果您设置了匿名账户,则需要you'll be better off without them

有关在MySQL服务器中设置初始帐户的更多信息,请阅读名为Securing the Initial MySQL Accounts的MySQL手册部分。

5

您必须配置MySQL才能接受来自远程主机的连接。编辑你my.cnf文件和设置收口addrees参数如下:

bind-address   = 0.0.0.0 
+0

嗯,那没用。 – user784637 2012-01-06 05:07:13

+0

你做了更改后是否重启了mysql? – 2012-01-06 07:42:36

+0

只是注释掉,然后重新启动 – Sergio 2012-01-06 13:09:00

0

有了这种类型的错误,另一个可能的原因是防火墙配置。尽管在这种情况下显然不是这种情况,但希望这可以帮助其他人:

SSH通过端口22连接(默认情况下)。由于这种连接类型适用于您的情况,因此防火墙(如果有的话)允许端口22上的流量。

如果使用标准TCP/IP进行连接,则连接将通过端口3306运行(默认情况下)。如果防火墙不允许该端口上的通信,则标准连接将不起作用。

如果将防火墙打开到该端口,请仅为已知良好的IP地址打开防火墙。如果你打开防火墙到任何IP地址,黑客可能会发现开放端口,并尝试对你的数据库进行暴力或其他类型的攻击。