我最近开始研究ejabberd并在连接mysql时遇到了问题。
我在Ubuntu上使用命令行安装了ejabberd - sudo apt-get install ejabberd
我参考了以下教程来设置ejabberd - Install ejabberd on Ubuntu
现在,为了连接到Mysql,我在ejabberd.yml中做了以下更改 -
auth_method: odbc
odbc_type: mysql
odbc_server: "localhost"
odbc_database: "ejabberd"
odbc_username: "ejabberd"
odbc_password: "password"
##
## If you want to specify the port:
odbc_port: 3306
但是在重新启动服务时,我收到此错误
[critical] <0.38.0>@ejabberd:exit_or_halt:133 failed to start application 'p1_mysql': {error,
{"no such file or directory",
"p1_mysql.app"}}
我看到一些链接,其中提到使用./configure --enable-odbc --enable-mysql
来解决此问题(通过编译源代码安装ejabberd时有效),但是因为我没有编译源代码来安装ejabberd(就像我一样)如上所述),我无法做到这一点。我该如何解决这个问题。提前谢谢。
答案 0 :(得分:4)
要在Ubuntu中使用ejabberd和Mysql,你需要安装erlang-p1-mysql包:
sudo apt install erlang-p1-mysql
我有同样的问题并解决了它。
答案 1 :(得分:1)
从源代码编译它并将生成的p1_mysql *文件放在已安装的ejabberd的ebin目录中,例如:
{{1}}