Как создать дамп SQL из файлов базы данных MySQL
Я использую xtrabackup от Percona для резервного копирования моих онлайн-баз данных. Есть ли способ конвертировать файлы базы данных резервных копий в дамп SQL, похожий на резервную копию, созданную с помощью mysqldump?
2 ответа
К сожалению, способ, которым Percona выполняет процедуру XtraBackup, включает в себя запуск чего-то вроде rsync на работающем производственном сервере, а затем применяет восстановление после сбоя InnoDB к папке tmp (каталог резервного копирования) с возможностью создания ib_logfile0 и ib_logfile1, которые могут быть заменой для вставки. те в производстве. Эти данные просто резервная копия.
Если все ваши данные InnoDB, вам лучше просто сделать mysqldump для производства с использованием параметра --single-транзакции. Более того, вы можете снова выполнять параллельные mysqldumps для баз данных или таблиц inivivdual, используя параметр --single -action для каждого процесса mysqldump.
Вы имеете в виду, что он берет копию уровня файла /var/lib/mysql
(или аналог Windows)?
Если это так, восстановите файлы где-нибудь и измените каталог данных MySQL туда, где вы восстановили /var/lib/mysql
например, в /etc/my.cnf
(или аналог Windows):
datadir=/tmp/restore/var/lib/mysql
Затем перезапустите MySQL, и вы будете использовать восстановленные базы данных, которые вы можете использовать mysqldump
против.
Если вы используете таблицы InnoDB, вам может понадобиться прочитать это.