无法从Ubuntu计算机中安装的Ejabberd连接到MySQL。AWS-EC2

无法从Ubuntu计算机中安装的Ejabberd连接到MySQL。AWS-EC2,mysql,ubuntu,amazon-web-services,amazon-ec2,ejabberd,Mysql,Ubuntu,Amazon Web Services,Amazon Ec2,Ejabberd,我已经在Ubuntu机器(AmazonEC2机器)中安装了Ejabberd。我有另一台机器,它是windows服务器,我在其中运行MySQL。服务已启动并正在运行 但由于某些原因,当我启动Ejabberd时,我无法连接到windows机器上的MySQL db。我确保端口已打开(MYSQL机器上的3306) 此外,所有必需的beam文件都在Ejabberd Ubuntu机器中配置。不知道为什么我不能连接到MySQL。我在日志中得到的错误如下。任何帮助都会很好。我已经在Windows计算机中配置了安

我已经在Ubuntu机器(AmazonEC2机器)中安装了Ejabberd。我有另一台机器,它是windows服务器,我在其中运行MySQL。服务已启动并正在运行

但由于某些原因,当我启动Ejabberd时,我无法连接到windows机器上的MySQL db。我确保端口已打开(MYSQL机器上的3306)

此外,所有必需的beam文件都在Ejabberd Ubuntu机器中配置。不知道为什么我不能连接到MySQL。我在日志中得到的错误如下。任何帮助都会很好。我已经在Windows计算机中配置了安全组,以接受对端口3306的请求。仍然无法连接。谢谢你的帮助

=ERROR REPORT==== 2014-04-21 00:38:16 ===
E(<0.1005.0>:ejabberd_odbc:542) : mysql_conn: Failed connecting to "172.31.15.211":3306        : {error,
                                                                                           "timeout"}

=ERROR REPORT==== 2014-04-21 00:38:16 ===
E(<0.292.0>:ejabberd_odbc:542) : mysql_conn: post_start timeout


=INFO REPORT==== 2014-04-21 00:38:16 ===
I(<0.292.0>:ejabberd_odbc:216) : mysql connection failed:
** Reason: "timed out"
** Retry after: 30 seconds

=WARNING REPORT==== 2014-04-21 00:38:16 ===
W(<0.292.0>:ejabberd_odbc:281) : unexpected info in connecting: {mysql_conn,
                                                             <0.1014.0>,
                                                             {error,
                                                              connect_failed}}
=错误报告===2014-04-21 00:38:16===
E(:ejabberd_odbc:542):mysql_conn:连接到“172.31.15.211”失败:3306:{错误,
“超时”}
=错误报告===2014-04-21 00:38:16===
E(:ejabberd_odbc:542):mysql_连接:post_启动超时
=信息报告===2014-04-21 00:38:16===
I(:ejabberd_odbc:216):mysql连接失败:
**原因:“超时”
**30秒后重试
=警告报告===2014-04-21 00:38:16===
W(:ejabberd_odbc:281):连接中出现意外信息:{mysql_conn,
,
{错误,
连接失败}

我想你应该检查一下你的mysql配置文件my.ini在windows环境下的文件

  • 在windows中找到my.cnf或my.ini文件,该文件应 在my.ini中找到这些设置,注释掉#skip networking,然后绑定您的IP地址

    绑定地址=0.0.0.0(您的IP)

第二件事是,您应该授予该用户连接mysql中数据库的权限

GRANT ALL ON DatabaeName.* TO DBUser@'%' IDENTIFIED BY 'PASSWORD';
flush privileges;

重新启动您的mysql,让我知道进展如何

@abaid778-非常感谢您的回复。我从早上开始刷新这一页#跳过网络已在my.ini文件中注释。此外,我无法在my.ini中找到行绑定地址。请让我知道我是否需要添加一行。此外,我还执行了GRANT ALL sql。再次感谢,请让我知道如何继续。已添加行绑定地址。仍然面临同样的问题。任何解决此问题的提示都会很有帮助。要添加有关此问题的更多信息,这两台机器是托管在同一VPC中的AWS EC2机器。确保运行MYSQL服务器的windows计算机已打开3306,并相应修改入站规则。@Timothy Rajan。。。确保mysql已重新启动。是,您需要添加绑定地址=0.0.0.0,并检查端口号3306。现在我们应该开始解决这个问题。如:首先检查开窗机上的开口。让我知道您是否看到3306打开窗口的命令是netstat-a。ubuntu机器上的第二个telnet命令应该是telnet HOSTIP 3306。请检查结果。让我知道。还有一件事要确保您授予mysql中的用户远程访问权限,我在前面提到过,将DatabaeName.*上的ALL授予由“PASSWORD”标识的DBUser@“%”@adaid778-非常感谢。取得了重大突破。我必须承认我是一个windows用户,telnet救了我的命。问题是我无法从DB联系mysql服务器。