2013-09-11 3 views
37

я использовал туздЫшпр экспортировать базу данных, как это:MySQLDump экспорт только один стол

mysqldump -u root -ppassword my_database > c:\temp\my_database.sql 

Так или иначе, она экспортирует только одну таблицу. Есть ли что-то, что я делаю неправильно?

+0

Какой стол? только первый? –

+0

Является ли это единственной экспортируемой таблицей также InnoDB? – vadchen

+0

Попробуйте с помощью ключа -B: mysqldump -u root -ppassword -B my_database' – px1mp

ответ

52

попробуйте это. Есть вообще три способа использовать mysqldump-

для того, чтобы сбросить набор из одной или нескольких таблиц,

shell> mysqldump [options] db_name [tbl_name ...] 

набор из одного или более полных баз данных

shell> mysqldump [options] --databases db_name ... 

или весь сервер MySQL, как показано здесь:

shell> mysqldump [options] --all-databases 
+0

Спасибо, что помогло мне в конечном итоге стать третьим вариантом: mysqldump [options] - -all-databases – danieln

+0

> mysqldump -u remoteuser -p -h remote_ip db_name tbl_name> tbl_name_remote.sql> mysql -u localuser -p db_name Donato

+0

@ManelPNavarro, дайте мне знать полную команду и версию сервера mysql – developerCK

15

Проголосовать по этой ссылке: http://steveswanson.wordpress.com/2009/04/21/exporting-and-importing-an-individual-mysql-table/

  • Экспорт таблицы

Экспорт таблицы выполните следующую команду из командной строки:

mysqldump -p --user=username dbname tableName > tableName.sql 

Это будет экспортировать TABLENAME в файл tableName.sql.

  • Импорт таблицы

Для импорта таблицы выполните следующую команду из командной строки:

mysql -u username -p -D dbname < tableName.sql 

Путь к tableName.sql должен быть предварённой абсолютным путем к этому файлу. На этом этапе таблица будет импортирована в БД.

28

Если вы демпинг таблицы t1, t2 и t3 от MyDB

mysqldump -u... -p... mydb t1 t2 t3 > mydb_tables.sql 

Если у вас есть тонна таблиц в MyDB и вы хотите сбросить все, кроме t1, t2 и t3, сделать это вам может использовать опцию --ignore-table. Таким образом, вы можете сделать:

mysqldump -u username -p database --ignore-table=database.table1 --ignore-table=database.table2 > database.sql 
2
mysqldump -u root -p dbname table1 table2 table3 > table.sql 
+2

Пока это фрагмент кода приветствуется, и может оказать некоторую помощь, было бы [значительно улучшено, если бы оно включало объяснение] (// meta.stackexchange.com/q/114762) * как * и * почему * это решает проблему.Помните, что вы отвечаете на вопрос читателей в будущем, а не только на человека, который спрашивает сейчас! Пожалуйста, отредактируйте свой ответ, чтобы добавить объяснение, и укажите, какие ограничения и допущения применяются. –

+0

Это помогает мне благодаря @Nids – Ash

Смежные вопросы