Mysql Mnesia:ejabberd:将所有表作为SQL查询导出到文件
我需要将mnesia从ejabberd迁移到mysqlMysql Mnesia:ejabberd:将所有表作为SQL查询导出到文件,mysql,erlang,ejabberd,mnesia,Mysql,Erlang,Ejabberd,Mnesia,我需要将mnesia从ejabberd迁移到mysql 我从ui尝试了很多方法:从ui有一个节点。在选择节点时,我将有许多选项,其中一个选项是备份。在该页面上有一个选项将所有表作为SQL查询导出到一个文件:host(0.0.0.0),我试图进行SQL备份,但文件为空 我还尝试了以下命令: ejabberdctlexport2odbclocalhost/var/lib/ejabberd/new_file.sql。这也是一个空白文件,不会产生错误。:/br> ejabberdctlexport2s
- 我从ui尝试了很多方法:从ui有一个节点。在选择节点时,我将有许多选项,其中一个选项是备份。在该页面上有一个选项
,我试图进行SQL备份,但文件为空将所有表作为SQL查询导出到一个文件:host(0.0.0.0)
- 我还尝试了以下命令:
。这也是一个空白文件,不会产生错误。:/br>ejabberdctlexport2odbclocalhost/var/lib/ejabberd/new_file.sql
。此命令不执行,因为ejabberdctlexport2sqllocalhost/tmp/sql/var/lib/ejabberd/new.sql
不存在export2sql
版本:ejabberd16.01mysql5.6.xxsql export命令在16.04中添加,命名为export_sql,后来在16.06中重命名为export2sql。因此,没有办法直接倾倒垃圾,但有两种选择:
- 如果您可以升级ejabberd,那么直接升级服务器,转储sql
- 备份相关文件夹,如数据库/spool目录、配置目录等
- 将服务器升级到最新版本或至少17.07版本(原因是由于17.06版本,大多数表都可以导出到sql文件,但17.03-17.06会出现错误)
- 将ejabberd配置为使用mysql作为后端数据库。
确保以下模块具有
选项 mod_公告、mod_caps、mod_irc、mod_last、mod_muc、mod_离线、mod_隐私、mod_private、mod_pubsub、mod_花名册、mod_共享花名册、mod_vcard、mod_vcard更新db\u type:sql
- 还原假脱机目录并确保您具有相同的权限 对于所有文件和子目录,如前所述
- 以主机和sql文件名作为参数运行ejabberd2sql
- 如果无法升级服务器,可以在另一台计算机上安装最新版本的ejabberd,复制数据库目录,按照上面的相同过程进行操作,然后获得sql的转储