Reputation: 197
A MySQL database is used for test purpose, so I want to run backend API tests on this (multiple transactions), simulating a real database in production.
When tests execution are finished, I want to restore the database in the point before that execution, to be able to run more tests with that database snapshot.
I don't have any MySQL version restriction, because it'll be a fresh database server.
What's the most performant way to restore this database?
Upvotes: 0
Views: 2046
Reputation: 562478
I'd use Percona XtraBackup to create a physical backup. This can be restored a lot faster than a dump created by mysqldump
.
If the database is large enough (over 100GB), even a physical backup won't be fast enough. I'd use LVM snapshots of the filesystem. See https://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots for example.
Upvotes: 1
Reputation: 211610
You have a lot of options:
mysqldump
and restore from this snapshot later to reset the database.Upvotes: 1