我刚刚建立了一个新的LAMP服务器。我可以通过终端连接到mysql。我的目标是使用MySQL工作台通过标准TCP / IP连接,但我只能通过SSH连接标准TCP / IP
这是我尝试通过标准(TCP / IP)连接时从mysql工作台获得的错误消息:
使用root用户无法以12.34.56.78:3306连接到MySQL
无法通过'12 .34.56.78'(10061)
连接到MySQL服务器其他信息
有关如何通过mysql工作台连接的任何线索(我在防火墙上打开了正确的端口)?
答案 0 :(得分:5)
您必须配置 MySQL 以接受来自远程主机的连接。编辑你my.cnf并设置 bind-addrees 参数,如下所示:
bind-address = 0.0.0.0
答案 1 :(得分: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手册部分。
答案 2 :(得分:0)
出现此类错误,另一个可能的原因是防火墙配置。尽管在这种情况下显然不是这种情况,但希望这会有助于其他人:
SSH通过端口22连接(默认情况下)。由于这种类型的连接适用于您的情况,防火墙(如果有的话)允许端口22上的流量。
如果使用标准TCP / IP进行连接,则连接将通过端口3306运行(默认情况下再次运行)。如果防火墙不允许该端口上的流量,则标准连接将不起作用。
如果您打开防火墙到该端口,请仅为已知良好的IP地址打开它。如果您要将防火墙打开到任何IP地址,黑客可能会发现开放端口并对您的数据库进行暴力破解或其他类型的攻击。</ p>