我刚刚使用eJabberd 2.1.13
--enable-odbc
我正在使用外部身份验证,然后我希望这些名单位于MySQL数据库中。
所以我执行了.sql
附带的eJabberd
文件,并将其包含在我现有的数据库中。我将eJabberd
配置更改为使用{mys}用户odbc_server mysql
。尝试运行并看到有关undef, mysql_conn, start in function p1_fsm:terminate/7
我还将相关的mod更改为*_odbc
。
现在eJabberd
继续在我可以连接的地方运行,但我无法添加朋友
可能是为什么没有定义mysql_conn的原因?
答案 0 :(得分:0)
它可能无法连接到数据库。尝试验证是否正确设置了mysql授权。 还要检查mysql是否正在运行(ps aux)并监听ejabberd想要连接的端口(可能是3306)。 您也可以尝试在“直播”中启动ejabberd。模式以获得更好的提示。
答案 1 :(得分:0)
首先检查你是否有mysql源文件。我不相信它们会随着常规的ejabberd分发而发布。请参阅:http://www.ejabberd.im/Using%20ejabberd%20with%20MySQL%20native%20driver,但是源的链接已损坏。您可以尝试使用源代码:https://github.com/dizzyd/erlang-mysql-driver。我想我回过头使用那个回购。进程一还有一个mysql驱动程序repo:https://github.com/processone/mysql,但请注意这些名称前缀为p1 _。