|
@@ -0,0 +1,63 @@
|
|
|
+
|
|
|
+### Create database
|
|
|
+ยดยดยด
|
|
|
+cd /opt/docker/db/utils/
|
|
|
+./create_db.sh ejabberd
|
|
|
+ยดยดยด
|
|
|
+
|
|
|
+### Get schema and populate tables
|
|
|
+ยดยดยด
|
|
|
+docker cp ejabberd:/home/ejabberd/database/mysql.sql .
|
|
|
+docker cp mysql.sql db:/
|
|
|
+rm mysql.sql
|
|
|
+docker exec db sh -c 'mysql -D ejabberd -p$MYSQL_ROOT_PASSWORD < /mysql.sql'
|
|
|
+docker exec db sh -c 'echo "SHOW TABLES;" | mysql -D ejabberd -p$MYSQL_ROOT_PASSWORD --table'
|
|
|
+docker exec db sh -c 'rm /mysql.sql'
|
|
|
+ยดยดยด
|
|
|
+
|
|
|
+### Backup existing installation, in case something goes wrong
|
|
|
+ยดยดยด
|
|
|
+cd /opt/docker/ejabberd
|
|
|
+docker compose down
|
|
|
+cd /opt/docker/
|
|
|
+tar cfj ejabberd.tar.bz2 ejabberd
|
|
|
+ยดยดยด
|
|
|
+
|
|
|
+### Disable ports for the migration to avoid connections
|
|
|
+ยดยดยด
|
|
|
+cd /opt/docker/ejabberd
|
|
|
+vi docker-compose.yml ## comment out ports
|
|
|
+ยดยดยด
|
|
|
+
|
|
|
+### Setup DB config for ejabberd
|
|
|
+ยดยดยด
|
|
|
+vi /opt/docker/ejabberd/data/conf.custom/db.yml
|
|
|
+default_db: sql
|
|
|
+sql_type: mysql
|
|
|
+sql_server: "db"
|
|
|
+sql_database: "ejabberd"
|
|
|
+sql_username: "ejabberd"
|
|
|
+sql_password: "PutYourSecretPasswordHere"
|
|
|
+docker compose up -d
|
|
|
+ยดยดยด
|
|
|
+
|
|
|
+### Dump Mnesia database and restore in MariaDB
|
|
|
+ยดยดยด
|
|
|
+docker exec ejabberd sh -c 'bin/ejabberdctl --no-timeout export2sql im.s-up.net /tmp/sqldump.sql'
|
|
|
+docker cp ejabberd:/tmp/sqldump.sql .
|
|
|
+docker exec ejabberd sh -c 'rm /tmp/sqldump.sql'
|
|
|
+docker cp sqldump.sql db:/
|
|
|
+rm sqldump.sql
|
|
|
+docker exec db sh -c 'mysql -D ejabberd -p$MYSQL_ROOT_PASSWORD < /sqldump.sql'
|
|
|
+ยดยดยด
|
|
|
+
|
|
|
+### Enable ports for the migration to avoid connections
|
|
|
+ยดยดยด
|
|
|
+cd /opt/docker/ejabberd
|
|
|
+vi docker-compose.yml ## comment out ports
|
|
|
+
|
|
|
+
|
|
|
+### Debugging: Start a sql shell
|
|
|
+ยดยดยด
|
|
|
+docker exec -it db sh -c 'mysql -D ejabberd -p$MYSQL_ROOT_PASSWORD'
|
|
|
+ยดยดยด
|