我使用ejabberd 2.1.12。它似乎工作正常,但在日志中我不断收到mysql连接错误。我认为这是因为mod_roster_odbc
(根据this线程,但我已禁用mod_roster
和mod_shared_roster
并且没有任何更改。
我在ubuntu 12.04上的亚马逊EC2上。在将一些用户连接到聊天后大约2分钟就会出现错误。
更新:我在这里找到了一些模式。当我连接少数用户(使用adium)时,每隔几分钟就会出现这样的错误。这可能不取决于连接的用户数量,因为它对于两个和八个连接用户是相同的。每个错误都是一个mysql连接,所以如果我得到5个错误,我有5个新连接,一段时间后它会回到初始连接数。
这是我的日志:
=ERROR REPORT==== 2013-05-09 19:52:55 ===
E(<0.585.0>:ejabberd_odbc:552) : mysql_conn: Received unknown signal, exiting : {mysql_recv,
<0.586.0>,
closed,
normal}
=INFO REPORT==== 2013-05-09 19:52:55 ===
I(<0.585.0>:ejabberd_odbc:550) : Closing connection #Port<0.3454>: ok
UPDATE2:我跟踪了giavac建议的mysql活动,当发生ejabberd错误时我可以在mysql日志中看到这一点:
130511 9:35:28 17 Connect ejabberd@127.0.0.1 on
17 Query use ejabberd
17 Query set names 'utf8'
18 Connect ejabberd@127.0.0.1 on
18 Query use ejabberd
19 Connect ejabberd@127.0.0.1 on
18 Query set names 'utf8'
19 Query use ejabberd
19 Query set names 'utf8'
20 Connect ejabberd@127.0.0.1 on
20 Query use ejabberd
20 Query set names 'utf8'
我不知道它来自哪里,为什么会导致错误。还有其他建议吗?