§ Databases · Relational
MySQL backups, natively.
One consistent SQL dump per schema, restorable under any name, plus a users.sql with accounts and grants. The password reaches mysqldump through a file descriptor — never argv or MYSQL_PWD.
What Xtic runs
mysqldump --defaults-extra-file=/dev/fd/3 --single-transaction --quick --routines --events --triggers --hex-blob --set-gtid-purged=OFF appdbShown with placeholders. Credentials never appear on a command line: they reach the tool through the environment, a file descriptor or a short-lived file in memory.
Restore paths
- Original database: the wizard drops or keeps the schema, then mysql replays the dump
- Under a new name: CREATE DATABASE with the captured character set and collation, then replay
- Fresh instance: users.sql first, then every database
- Optional definer stripping when the original DEFINER accounts do not exist on the target
Verification
The dump's completion trailer on every run; a scratch restore and mysqlcheck in deep verification. Every artifact is also hashed, and the stored copy is read back and compared before the run counts as verified.
Version rule
Client of the same major or LTS line, or newer.
Good to know
- --set-gtid-purged=OFF by default, so restored data reaches replicas
- The mysql system schema is never dumped whole; accounts come from users.sql
- mysqlpump was removed in 8.4 and is not used
- Licence and editions: GPL Community — no edition gates.