Welcome to the Power Users community on Codidact!
Power Users is a Q&A site for questions about the usage of computer software and hardware. We are still a small site and would like to grow, so please consider joining our community. We are looking forward to your questions and answers; they are the building blocks of a repository of knowledge we are building together.
How to create a dump of a complete MariaDB how the data is at a single point in time?
A MariaDB server is installed on a Linux server.
How can a dump of the complete database be made, how it is at a single point in time, while preventing write access to the database during the dump? Writes to the database during dumping should be prevented to prevent inconsistencies.
1 answer
I don't have a ready answer to the question in the title, but with regards to
The plan was to disable the MariaDB service so that no new writes to the database can be made (that have a risk of not being included in the dump).
This can be achieved without preventing access to the database engine by shutting it down.
If you are using only InnoDB and you can guarantee that no clients use ALTER TABLE
, CREATE TABLE
, DROP TABLE
, RENAME TABLE
or TRUNCATE TABLE
for the duration of the dump process, then you can pass --single-transaction
to mariadb-dump
to obtain a dump of exactly the data that has been committed at the start of the dump.
If that does not apply, then you can use --lock-all-tables
instead; doing so acquires a much wider-ranging lock than simply relying on transactional isolation, but is still less invasive than completely shutting down the database server.
See mariadb-dump: Options for an explanation of those command-line options and many more.
1 comment thread