Дамп Mysqldump - Как восстановить одну таблицу из этого файла?


Мне нужно восстановить только одну таблицу в моей базе данных.

У меня есть файл .sql, в котором есть вся необходимая информация для одной таблицы, но остальная часть перепишет важную информацию для других таблиц.

Вместо того, чтобы использовать решение здесь - используя инструмент, о котором я никогда не слышал, я решил, что будет более верным сделать это вручную.

К сожалению, MySqlDump сгенерировал ГИГАНТСКУЮ строку вставки, слишком длинную для вставки в команду mysql линия...

Что мне делать?

Должен ли я использовать sed, как описано в приведенной выше ссылке?

Или я мог бы скопировать команды для этой конкретной таблицы из mysqldump.sql в новый файл .sql, а затем вызвать:

mysql -u root -p -h localhost < copyPasteFile.sql
Author: Community, 2016-02-25

3 answers

Вы можете попробовать это

mysql -u root -p databasename -h localhost < copyPasteFile.sql 
 2
Author: Rizki Wahyu, 2016-02-25 09:34:49
mysql -uuser -ppassword -e "create database temporary"

mysql -uuser -ppassword temporary < copyPasteFile.sql

mysqldump -uuser -ppassword temporary yourtable > onlythattable.sql

mysql -uuser -ppassword therealdb < onlythattable.sql

mysql -uuser -ppassword -e "drop database temporary"

Убедитесь, что в файле copyPasteFile.sql нет "использовать базу данных somedatabase"; если он был экспортирован с помощью phpmyadmin, он, вероятно, имеет это, если он был экспортирован с помощью mysqldump, он не будет.

 0
Author: useless, 2016-02-25 03:37:47

Я не уверен, что это лучший способ, но я просто запускаю новую схему и восстанавливаю в нее резервную копию, сбрасываю нужные мне данные и импортирую их в производственную базу данных.

Я использую рабочий стол MYSQL, который упрощает работу, но следующие шаги, вероятно, могут быть воспроизведены в командной строке

  1. Создайте новую схему MYSQL
  2. Импорт автономной резервной копии
  3. Установите "Целевую схему" в новую пустую базу данных (.дамп sql не должен содержать создание схемы код)
  4. Восстановить резервную копию
  5. Сбросьте таблицу в csv и импортируйте ее в рабочую оперативную базу данных
  6. Удалить схему восстановления

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

mysql -u <user name> -p <password> <database name> < sqlfilename.sql

 0
Author: Nick, 2016-02-25 03:46:25