无法连接到MySQL服务器(ip或域名)

Amb*_*lon 13 mysql sequelpro

我正在尝试配置Web服务器(Debian 7).我按照本教程.我正在租用我的服务器,感谢gandi.net服务.我现在有apache2,mysql,php5启动并运行.我在终端上使用以下命令连接到它:ssh username@domainname.com

下一步是通过续集专业版创建我的数据库,我不知道该怎么做,文档也不那么清楚...这就是我在说的: 在此输入图像描述

我试过连接:

  • Nom:有些名字,我发现很清楚.(我想我可以在这里放任何东西,对吧?)
  • 主持人:ip或域名
  • 用户:我在ssh连接中使用的用户名(参见上文)
  • 密码:我用于ssh连接(上面的cf)和mysql连接的密码

其余的,我离开了,我收到了这条错误信息:

无法连接到主机domainname.com,或请求超时.

确保地址正确并且您具有必要的权限,或尝试增加连接超时(当前为10秒).

MySQL说:无法连接到'domainename.com'上的MySQL服务器(61)'(2)

知道我怎么能这样做吗?

Ber*_*ers 22

如果你在Debian上正常安装MySQL,它将被配置为阻止与数据库的外部连接.

这意味着你仍然需要告诉MySQL外部访问是否正常.为此,您需要更新MySQL的绑定地址.这是在my.cnf基于Debian的系统中配置的/etc/mysql/my.cnf.

在那里,找到说的部分

[mysqld]
Run Code Online (Sandbox Code Playgroud)

在那里,你必须确保

  • 该行skip-networking是注释(注释以'#'开头)或不在那里,以及
  • 绑定地址设置为0.0.0.0(如果没有行绑定地址)或者服务器的IP地址.

执行此操作后,您应该重新启动MySQL服务.然后,您需要创建一个允许远程访问的用户.这可以使用SQL查询完成:

GRANT ALL ON yourdatabase.* TO youruser@'*' IDENTIFIED BY 'yourpassword';
Run Code Online (Sandbox Code Playgroud)

如果每次都相同,您可以为要连接的IP地址切换星号.

最后,您需要在防火墙上打开端口3306(MySQL使用的端口).这通常不是必需的,因为它已在大多数系统上打开,但可以使用以下iptables命令完成.

/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
service iptables save
Run Code Online (Sandbox Code Playgroud)

资料来源:1


Tre*_*her 8

这是对我有用的解决方案:在Debian 7中查看/etc/mysql/my.cnf下的my.cnf并找到以下行:

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address        = 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

现在更改为127.0.0.1mysql服务器的IP地址,您想要连接或0.0.0.0没有限制.