For starters the command should be more like
Code:
mysqldump -h 127.0.0.1 -u root --password=xxxxxx --add-drop-table --create-options --disable-keys --extended-insert --quick--set-charset --default-character-set=utf8mb4 --single-transaction --skip-lock-tables --hex-blob .........
But this isn't really good enough either. You can get away with it on smaller datasets but then there are some cron jobs which optimise tables and might do things like reset counters, which is a DDL action. If that happens while you are doing the backup, then your backup fails - even when using the single-transaction flag - mysqlbackup just cant handle it. If your database is only small, like 400MB, then the chances of failure are slim. If the database is bigger (mine is 100GB+) then you almost certainly hit this as the dump takes at least 90 minutes.
so the options as I see it are:
1. exclude the tables and let XF recreate them or treat the tables with their own backups
2. use mariadbbackup - which doesn't have this issue, unfortunately it is not really an option for me
3. suspend cronjobs, allegedly this can be done via an option in the config