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.