2015-07-15 4 views
0

Мне нужно проверить базу данных MySQL на другом сервере. Но база данных слишком велика для экспорта и импорта. Кроме того, мне нужна только часть базы данных для тестирования.Mysqldump создание частичной резервной копии

Предположим, что база данных содержит 20 таблиц, и мне нужно получить последние 10000 записей из каждой таблицы. Как я могу создать mysqldump для этой ситуации?

(Связанный: How to use mysqldump for a portion of a table?)

ответ

0

Вы можете использовать туздЫшпр с --where состоянии.

Например: -

mysqldump -u [username] -p [dbname] {--opt} --where="true limit 10000" > dump.sql 
+0

Ну, это свалки первых 10000 записей. Можно ли получить последние 10000 записей, если количество записей больше 10000. – trante

+0

нет нет никакой функции или возможности сделать это .. –

2

Я нашел это решение. Этот дамп может быть выполнен, если все таблицы имеют поле id. Заказывая результаты по id, вы можете получить результаты.

mysqldump --user=backup_user -p databasename 
    --where="1=1 ORDER BY id DESC LIMIT 10000" | gzip > /targetfolder/file.sql.gz 
Смежные вопросы