Требуется извлечь некоторые данные из активной базы данных (в настоящий момент 159 таблиц) в другую базу данных, чтобы скопированные данные имели полную ссылочную целостность, в то время как данные находятся в движении (это живая база данных).Речь идет не о выгрузке всей базы данных (размером около 50 ГБ), а просто о выделении некоторых строк, которые мы идентифицировали из всей базы данных, в отдельную базу данных.
В настоящее время мы создаем новую БД на основе нашей исходной схемы и последующего DDLмиграции и повторяемости (представления, хранимые процедуры и т. д.), а затем скопируйте соответствующие строки.Обычно это занимает более 10 минут, но менее 1 часа, в зависимости от размера извлекаемого набора.
Есть ли способ сообщить mysql, что я хочу игнорировать любые транзакции, принятые после того, как я запустилизвлекать, будь то добавленные новые строки, удаленные строки или обновленные строки, но любое другое соединение с базой данных просто продолжает работать как обычно, как если бы я не делал никаких запросов.
Что я не делаюесли это произойдет, я скопирую данные из таблицы 1, и к тому времени, когда я доберусь до таблицы 159, таблица 1 изменилась, и строка в таблице 159 ссылается на эту новую строку в таблице 1.