I’m stuggling with a problem with database export. I started to have this problem many versions ago (I think it was Xibo 1.4, around 2013). Upgrading was usually smooth from version to version. Later from LAMP to Docker. Now my Xibo 1.8.8 runs completely on Docker but I still can’t make database backup.
Configuration Error - Database dump failed.
The automatic backup in shared/backup/db/latest.sql.gz was also never created.
Now I’m seriously considering building a completely new Xibo database from scratch. But I would love to avoid it if possible.
How can I troubleshoot this?
I generated the troubleshoot.zip file. How can I send it?
Where do you see the message “Configuration Error - Database dump failed.”?
I don’t think starting over is necessary - we just need to understand what the situation is so we can tell you how to fix it.
You can run a manual database dump at any time.
Use that to get a shell inside the cms-web container. Instead of running mysql -u cms -h mysql -p cms to access MySQL command line, you instead run:
mysqldump -u cms -h mysql -p cms > /var/www/cms/library/temp/backup.sql
That will create a file backup.sql in your CMS library temp directory, which you can pickup from outside the container.
Assuming that works, then I would guess that the password you’ve chosen for your MySQL user contains special characters (ie isn’t long and alpha-numeric only), in which case the special characters can prevent the backup working properly.
You’d need to change it to something that fits the requirement in your config.env file, as well as inside MySQL itself and then down/up the containers. Automatic backups will then work as expected.
I had no idea it could be related to the password complexity! You are correct. My database password contains characters like colons and brackets.
Changing it in config.env is easy. But how should I change it in the MySQL?
MySQL [cms]> UPDATE mysql.user SET Password=PASSWORD(‘SomeNewPassword’) WHERE User=‘cms’ AND Host=‘cms’;
ERROR 1142 (42000): UPDATE command denied to user ‘cms’@‘172.18.0.2’ for table ‘user’