2017-10-10 7 views
0

J'ai besoin de migrer mnesia vers mysql depuis ejabberd.Mnesia: ejabberd: Exporter toutes les tables en tant que requêtes SQL vers un fichier

  • J'ai essayé de plusieurs façons à partir de ui: De l'interface utilisateur, il y a un nœud. Lors de la sélection du nœud, j'aurai de nombreuses options parmi lesquelles une option est la sauvegarde. Sur cette page, il y a une possibilité de Export all tables as SQL queries to a file: host(0.0.0.0), j'ai essayé de prendre la sauvegarde sql, mais le fichier est vide

  • J'ai aussi essayé ces commandes:
    ejabberdctl export2odbc localhost /var/lib/ejabberd/new_file.sql. Ceci est également un fichier vide ne générant aucune erreur .:
    ejabberdctl export2sql localhost /tmp/sql /var/lib/ejabberd/new.sql. Cette commande ne s'exécute pas car export2sql n'existe pas.

est-il une autre façon de prendre dump sql de Mnesia

Version: ejabberd 16,01 mysql 5.6.xx

+0

Quelle version de ejabberd vous utilisez et quelle base de données sql utilisez-vous? –

+0

Salut @LamteiW: J'ai supprimé la suppression. Je suis toujours à la recherche de solution. Est-ce vraiment possible? –

Répondre

1

La commande export sql a été ajouté à 16,04 et nommé comme export_sql et plus tard renommé export2sql en 16.06. Donc, il n'y a pas moyen de prendre une décharge directement, mais vous avez deux alternatives:

  • Si vous pouvez mettre à niveau ejabberd, puis son avant droit, mettre à jour le serveur, prenez une décharge du sql.

    • Faites une sauvegarde des dossiers pertinents, comme base de données/spool, répertoire de configuration, etc.

    • Mise à niveau du serveur vers la dernière version ou au moins la version 17.07 (la raison étant depuis la version 17.06 la plupart des tables peuvent être exportées vers un fichier sql, mais un bug 17,03 à 17,06 souffre.

    • Configurer ejabberd utiliser MySQL comme base de données back-end. Assurez-vous que les modules suivants ont l'option 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

    • Restaurez le répertoire de spool et assurez-vous que vous avez les mêmes autorisations pour tous les fichiers et sous-répertoires comme avant.

    • Exécutez le ejabberd2sql avec des hôtes et le nom du fichier sql comme paramètres

    Remarque: Si vous ne déversent besoin des sql vous pouvez revenir à la configuration après la décharge. Si vous ne pouvez pas mettre à niveau le serveur, vous pouvez installer la dernière version d'ejabberd sur une autre machine, copier le répertoire de la base de données, suivre la même procédure ci-dessus et obtenir la sauvegarde de votre sql.