Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Разбить огромный файл с SQL запросами на несколько с определенным содержанием
 
 автор: fis   (02.02.2008 в 20:17)   письмо автору
 
 

Существует дамп БД, весом 150 мегабайт.
Структура такая:
1. Сначала идет создание всех таблиц.
2. Заносятся сами данные во все таблицы.

Как разделить данный файл на несколько, и в каждом файле находились данные для занесения только в 1 таблицу.

Тоесть чтобы получились файлы со структурой:
1. Создание таблицы.
2. Занесение данных в эту таблицу.

   
 
 автор: Trianon   (02.02.2008 в 21:04)   письмо автору
 
   для: fis   (02.02.2008 в 20:17)
 

Вы ждете скрипт, алгоритм или совет?

вот несколько вариантов решения:

1. Если текстовый редактор позволяет - можно попробовать выполнить эту процедуру руками (и/или может быть с помощью egrep)

2. Можно попробовать импортировать этот дамп на локалке и экспортировать таблицы по одной.

3. можно написать скрипт, который проиндексировал бы этот дамп (т.е. выписал позиции строк, начинающихся с CREATE TABLE и блоков INSERT INTO tbl_N, а затем вывел бы нужные файлы по позициям.



Если же дамп совершенно невменяемый, придется писать анализатор, но это дело горькое.

   
 
 автор: fis   (03.02.2008 в 15:54)   письмо автору
 
   для: Trianon   (02.02.2008 в 21:04)
 

На локалке импортировать дамп не получается, очень большой вес. Пробую через Navicat, пишет что out of Memory.
Через mysqldump тоже чтото не хочет, хотя если бы удалось залить этот дамп на локалке, то было бы все намного проще!
Вот что я пишу, когда пытаюсь импортировать дамп:

mysqldump -u root -p dbname < dump.sql

он запрашивает пароль, он не выполняет действия, которые находятся в дампе

   
 
 автор: Trianon   (03.02.2008 в 16:22)   письмо автору
 
   для: fis   (03.02.2008 в 15:54)
 

Эту операцию (импорт) нужно производить утилитой mysql.exe , а не mysqldump.exe.
mysqldump.exe предназначен для экспорта.
mysql -u root -р localhost -p dbname < dump.sql

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования