@Marc B Спасибо за комментарий. Помог мне узнать это:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post();
the_content();
endwhile; else: ?>
<p>Sorry, no posts matched your criteria.</p>
<?php endif; ?>
Вы можете попробовать использовать sed для извлечения только нужной таблицы.
Допустим, имя вашей таблицы - mytable
, а файл mysql.dump это файл, содержащий ваш огромный дамп:
$ sed -n -e '/CREATE TABLE.*`mytable`/,/CREATE TABLE/p' mysql.dump > mytable.dump
Это скопирует в файл mytable.dump
то, что находится между CREATE TABLE mytable
и следующей CREATE TABLE
соответствующей следующей таблице.
Затем вы можете настроить файл mytable.dump
, который содержит структуру таблицы mytable
и данные (список INSERT
).
Большинство современных текстовых редакторов должны уметь обрабатывать текстовые файлы такого размера, если ваша система подходит для этого.
В любом случае, мне пришлось сделать это один раз очень быстро, и у меня не было время найти любые инструменты. Я установил новый экземпляр MySQL, импортировал всю резервную копию и затем выплюнул только ту таблицу, которую хотел.
Затем я импортировал эту таблицу в основную базу данных.
Это было утомительно, но довольно легко. Удачи.
Чанки SQL заблокированы с помощью «Структура таблицы для таблицы my_table
» и «Выгрузка данных для таблицы my_table
».
Вы можете использовать командную строку Windows, как показано ниже, чтобы получить строку номера для различных разделов. При необходимости измените искомую строку.
find / n "для таблицы" "sql.txt
Будет возвращено следующее:
---------- SQL.
Один из возможных способов справиться с этим - восстановить временную базу данных и выгрузить только эту таблицу из временной базы данных. Затем используйте новый сценарий.
Получите приличный текстовый редактор, например Notepad ++ или Vim (если вы уже разбираетесь в нем). Найдите имя таблицы, и вы сможете выделить только команды CREATE, ALTER и INSERT для этой таблицы. Навигация может быть проще с помощью клавиатуры, чем с помощью мыши. И я хотел бы убедиться, что вы находитесь на машине с большим количеством оперативной памяти, чтобы у нее не было проблем с загрузкой всего файла сразу. После того, как вы выделили и скопировали нужные строки, было бы неплохо сделать резервную копию только скопированной части в ее собственный файл резервной копии, а затем импортировать ее в MySQL.
Так или иначе, любой процесс, выполняющий, который должен будет пройти весь текст дампа и каким-то образом его разобрать. Я бы просто набрал
INSERT INTO `the_table_i_want`
с помощью grep и передал вывод в mysql. Взгляните на первую таблицу в дампе, чтобы убедиться, что вы правильно понимаете INSERT.
Edit: Хорошо, на этот раз правильно форматирование.