以前用的是 mnesia 数据库,现在想改成 mysql
a. 把internal注释
{auth_method, internal}.
注释后为
%%{auth_method, internal}.
b. 这句取消注释
{auth_method, odbc}.
c. 创建数据库ejabberd
d. 配置mySQL
- %%
- %%
MySQL server: - %%
- {odbc_server,
{mysql, "localhost", "ejabberd", "root", "MySqlPassword"}}.
f.配置模块,加一个_odbc
- {mod_last_odbc,
[]}, - {mod_offline_odbc,
[]}, - {mod_privacy_odbc,
[]}, - {mod_private_odbc,
[]}, - {mod_pubsub_odbc,
[ % requires mod_caps ... - {mod_roster_odbc,
[]}, - {mod_vcard_odbc,
[]},
cd /etc/ejabberd/ ejabberdctl live
问题解决:
=ERROR REPORT==== 2014-01-1018:20:09 === C(<0.37.0>:ejabberd_check:63) : ejabberd isconfigured to use 'mysql', but the following Erlang modules are notinstalled: '[mysql, mysql_auth, mysql_conn, mysql_recv]'–
有这么些模块没有安装
http://svn.process-one.net/ejabberd-modules
下载 mysql 模块,编译后,拷贝到 /lib/ejabberd/ebin
cd /etc/ejabberd/ ejabberdctl live 就没有问题了
本文档介绍了如何将ejabberd聊天服务器的数据库从mnesia切换到mysql。首先,注释掉mnesia的相关配置,然后设置odbc_server为mysql的连接参数。接着,确保安装并加载了ejabberd所需的mysql相关Erlang模块。在遇到模块未安装的错误后,从指定源下载并编译mysql模块,将其放入ejabberd的ebin目录,最后运行ejabberdctl live以验证配置成功。
4600

被折叠的 条评论
为什么被折叠?



