#mysql #database #mysqldump
#База данных #mysql
Вопрос:
У меня довольно большая база данных (2 ТБ), которую я хочу постепенно сбрасывать (дамп диапазона или что-то в этом роде). возможно ли это сделать с помощью mysqldump? если нет, что мне следует использовать?
Комментарии:
1. я бы рекомендовал выполнять дамп пакетами, используя mysqldump — отдельную базу данных / таблицы
2. @GinoSullivan: то есть мне пришлось бы сбрасывать всю таблицу за раз? Проблема здесь в том, что каждая таблица очень большая, и я хочу выгружать строки в диапазоне или постепенно.
3. чего вы хотите достичь? только несколько файлов всего дампа? затем вы можете передать вызов mysqldump через
split
4. Аналогичный вопрос найден здесь
http://serverfault.com/questions/256051/incremental-differential-mysql-backup-using-mysqldump
Ответ №1:
mysqldump позволит вам выгружать «базы данных» или таблицы по отдельности, используя опции —databases и —tables. Вы можете использовать скрипт, который будет извлекать имена таблиц из TABLES в INFORMATION_SCHEMA и предоставлять эти параметры при вызове mysqldump.
Чтобы указать диапазон строк для частичных дампов таблицы, используйте опцию —where. Параметр —lock-tables/—single-transaction может использоваться для блокирования изменений в таблицах во время сброса. Пожалуйста, ознакомьтесь с руководством, поскольку эти параметры используются в разных ситуациях.
С помощью мощного языка сценариев, то есть Python, вы можете творчески использовать mysqldump для наилучшего решения вашей проблемы.