Разбить БД 14ГБ

Статус
В этой теме нельзя размещать новые ответы.

Vendetta

Писатель
Регистрация
24 Май 2012
Сообщения
63
Реакции
17
Есть таблица БД которая занимает 14ГБ. Ее нужно разбить на части (хотя бы до 800Мб), чтобы поочередно проганять через php скрипт (сразу всю нельзя). sypex имеет ограничения в 4Гб. Читал про Партиции (Partition) но не понял как им пользоватся и поможет мне или нет.
 
sypex имеет ограничения в 4Гб.
Чисто для общего развития хотелось бы узнать откуда такая инфа вылезла т.к. я 200+ гигов ис обрабатывал (70+ гигов в одной таблице) и проблем по большому счету небыло.

По сабжу можно скопировать строки из одной таблици в другую с лимитом на количество переносимых строк. А после обработки по-отдельности собрать их назад вместе. Если покажеш структуру таблицы то думаю тут достаточно специалистов будет чтоб тебе с точным запросом помочь.

Еще вариант, сделать дамп всей таблицы, порезать ее на части в том же нотепад++ (хотя я бы тотал коммандером порезал и потом в нотепад++ ошибки резки поправил бы только), после этого в отдельной базе по очереди их обработать твоим скриптом, сделать новые дампы и собрать их в первоначальной таблице дропнув в ней содержимое а у обработаных в нотепаде убрав "DROP TABLE IF EXISTS" из каждого обработанного дампа, тогда они спокойно вместе собраться должны.

п.с. Для гурманов, порезать дамп можно например HxD. Не текстовый редактор по большому счету, но зато ему открыть и нарезать и 14 и 140 гигов не великая проблема.
 
ТС, другие варианты, кроме пхп, не рассматриваются? Стандартными средствами mysql и mysqldump, например.

А базу порезать и сдампить можно скриптами, что пхп, что bash'ем
 
Тотал командер и фар не открывают файлы даже в 2Гб. А если разбивать запросами, то скорее всего придется их очень долго выполнять (исходя из размера БД). С WinHex наверное сделать можно, но хочется более системный подход найти. Как раз интересует через команды mysql и mysqldump. Как ими можно порезать на части?
 
Тотал командер и фар не открывают файлы даже в 2Гб.
Тут, скорее всего, lift имел ввиду стандартные средства разбития файла по определенному размеру(по крайней мере в TC).
Как раз интересует через команды mysql и mysqldump. Как ими можно порезать на части?
как разбить - даже не могу подсказать, а вот сдампить все базу в один файл, а потом разбить скриптами - могу и подсказать и показать
 
Тотал командер и фар не открывают файлы даже в 2Гб. А если разбивать запросами, то скорее всего придется их очень долго выполнять (исходя из размера БД). С WinHex наверное сделать можно, но хочется более системный подход найти. Как раз интересует через команды mysql и mysqldump. Как ими можно порезать на части?
А зачем его открывать? Разбей сначала на части, хотя бы по 800М, и затем уже редактируй части по очереди.
 
А зачем его открывать? Разбей сначала на части, хотя бы по 800М, и затем уже редактируй части по очереди.
Чем лутше всего разбивать такой большой файл? Если в тотал командере то как?
 
В тотал командере есть функция разбивки файла Файл->разбить но он разбивает по размеру и потом надо править окончание/начало разбитых файлов, либо поставить в инструменте которым будете дампить "не учитывать ошибки" - несколько запросов потеряется, но зато задампится :)

PS Вижу тема популярна - надо скриптик набросать.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху