mysqldump експортує лише одну таблицю


79

Я використовував mysqldump для експорту бази даних, наприклад:

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

Якось це експортує лише одну таблицю. Щось я роблю не так?


Який стіл? тільки перший?
Alma Do

Чи є ця експортована таблиця також InnoDB?
vadchen

Спробуйте за допомогою перемикача -B:mysqldump -u root -ppassword -B my_database
px1mp

1
musqldump -u root -p dbname ім'я таблиці> tablename.sql
Сантану

Відповіді:


102

спробуйте це. Загалом існує три способи використання mysqldump -

щоб скинути набір з однієї або декількох таблиць,

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

набір однієї або декількох повних баз даних

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

або цілий сервер MySQL - як показано тут:

shell> mysqldump [options] --all-databases

Дякую, що мені врешті-решт допомогло 3-й варіант: mysqldump [options] --all-databases
danieln

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

@ManelPNavarro, дай мені знати повну версію команди та сервера MySQL
developerCK

чому це взагалі проголосувало? відповісти на запитання
легкі роки

Приклад був би чудовим. Так само, як ВІДПОВІДЬ ВНИЗ
Абхі

40

Цитуючи це посилання: 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 повинен бути доданий до абсолютного шляху до цього файлу. На цьому етапі таблиця буде імпортована в БД.


19

Тут я збираюся експортувати 3 таблиці з бази даних з іменем myDB у файл sql з назвою table.sql

mysqldump -u root -p myDB table1 table2 table3 > table.sql

3
Хоча цей фрагмент коду вітається і може надати певну допомогу, його було б значно покращено, якби він містив пояснення того, як і чому це вирішує проблему. Пам’ятайте, що ви відповідаєте на запитання читачам у майбутньому, а не лише тому, хто задає зараз! Будь ласка, відредагуйте свою відповідь, щоб додати пояснення, та вкажіть, які обмеження та припущення застосовуються.
Тобі Спейт

1

Якщо ви зіткнетеся з такою помилкою

mysqldump: 1044 Заборонено доступ під час використання БЛОКОВАНИХ СТОЛІВ

Швидкий обхідний шлях полягає у передачі –-single-transactionопції mysqldump.

Тож ваша команда буде такою.

mysqldump --single-transaction -u user -p DBNAME > backup.sql

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.