2017-10-10 7 views
0

mnesiaをejabberdからmysqlに移行する必要があります。Mnesia:ejabberd:SQLクエリとしてすべてのテーブルをファイルにエクスポート

  • 私はuiから多くの方法を試しました.Uiからノードがあります。ノードの選択には、どれがバックアップなのかという多くのオプションがあります。そのページでExport all tables as SQL queries to a file: host(0.0.0.0)のオプションがあり、私はSQLのバックアップを取るしようとしましたが、ファイルが空である

  • 私はまた、これらのコマンドを試してみました:
    ejabberdctl export2odbc localhost /var/lib/ejabberd/new_file.sqlを。これはまた、エラーを発生させる空白のファイルです。:
    ejabberdctl export2sql localhost /tmp/sql /var/lib/ejabberd/new.sqlexport2sqlが存在しないため、このコマンドは実行されません。

Mnesiaから

バージョンSQLダンプを取るために他の方法があります:ejabberd 16.01 mysqlの 5.6.xx

+0

使用しているejabberdのバージョンと使用しているSQLデータベースはどちらですか? –

+0

こんにちは@LamteiW:私は質問をうなずきました。私はまだ解決策を探しています。本当に可能ですか? –

答えて

1

SQL exportコマンドは16.04で追加され、命名されましたがexport_sqlとしてエクスポートされ、後で16.06でexport2sqlに名前が変更されました。だから、そこに直接ダンプを取るための手立てませんが、あなたは二つの選択肢があります:あなたは、サーバーをアップグレードし、ejabberd、そのまっすぐ前方をアップグレードするSQLのダンプを取ることができる場合

  • を。

    • 最新バージョンまたは少なくともバージョン17.07(バージョン17.06以降であることの理由にサーバーをアップグレードし

    • など、データベース/スプールディレクトリのように、configディレクトリを関連フォルダのバックアップを取りますテーブルのほとんどは、SQLファイルにエクスポートすることができますが、17.03から17.06にはbugを受ける。

    • バックエンドのデータベースとしてMySQLを使用するように設定するejabberd。 次のモジュールがdb_type: sqlオプションを持っていることを確認してください。

      mod_announce、mod_caps、mod_irc、mod_last、mod_muc、mod_offline、mod_privacy、mod_private、mod_pubsub、mod_roster、mod_shared_roster、mod_vcard、mod_vcard_xupdate

    • は、スプールディレクトリを復元し、すべてのファイルに対して同じ権限 を持っていることを確認します以前と同様にサブディレクトリを作成します。

    • 実行

    パラメータとして、ホストとejabberd2sqlとSQL名:あなたが唯一のSQLダンプが必要な場合は、ダンプ後に設定を戻すにしたいかもしれませんが。

  • サーバをアップグレードできない場合は、別のマシンに最新のバージョンのejabberdをインストールし、データベースディレクトリをコピーして、上記と同じ手順を実行して、sqlのダンプを取得できます。

関連する問題