我使用ejabberd 16.06 +MySQL5.5.50,没有保存消息历史记录。
我的ejabberd.yml:
## MySQL server:
odbc_type: mysql
odbc_server: "freldo"
odbc_port: 3306
odbc_database: "ejabberd"
odbc_username: "ejabberd"
odbc_password: "ejabberd"
modules:
...
mod_mam:
db_type: odbc
default: always对于数据库结构的形成,我使用了:mysql.sql
我收到一个错误:
@ejabberd_sql:check_error:1039 SQL查询‘选择时间戳、xml、对等程序、 类别,尼克从(选择时间戳,xml,对等,类别,尼克从存档 其中用户名=‘test’和bare_peer='misha@freldo‘按时间戳排序 DESC限制( 21) t顺序按时间戳ASC;‘失败:“#42S22未知 “字段列表”中的“类别”列“
我还没有在数据库中保存邮件历史记录。
发布于 2016-08-10 20:39:08
将mysql升级到版本5.6+应该可以解决问题。
ejabberd使用InnoDB使用全文索引。因此,您需要在ejabberd中使用MySQL 5.6或更高版本。 注意:如果不将消息存档存储在数据库中,则可以尝试使用较早的5.5版本。您可能需要调整MySQL数据库模式来处理那些较旧的MySQL版本。
如果要存储消息历史记录,MySQL版本5.6.4或更高版本是推荐。
https://stackoverflow.com/questions/38808877
复制相似问题