Ответ 1
mysqldump -uroot -p db_name table_name --where='id<1000000'
или вы можете использовать
SELECT * INTO OUTFILE 'data_path.sql' from table where id<100000
Поэтому я могу экспортировать только таблицу, подобную этой:
mysqldump -u root -p db_name table_name > table_name.sql
Есть ли способ экспортировать только часть таблицы с mysqldump? Например, 0-1000000 строк, 1 000 000 - 2 000 000 строк и т.д.
Должен ли я сделать это с помощью mysqldump или запроса?
mysqldump -uroot -p db_name table_name --where='id<1000000'
или вы можете использовать
SELECT * INTO OUTFILE 'data_path.sql' from table where id<100000
mysqldump --skip-triggers --compact --no-create-info --user=USER --password=PASSWORD -B DATABASE --tables MY_TABLE --where='SOME_COLUMN>=xxxx' > out.sql
Сбрасываемый файл отличается от файла, который вы используете для выбора SQL. Для второго подхода вы не можете просто использовать: mysql database < Таблица чтобы выгрузить таблицу в базу данных.
В моем случае я выполняю это:
SELECT *
INTO OUTFILE 'C:\Documents and Settings\Anton.Zarkov\Desktop\joomla_export\data_AZ.sql'
FROM `jos_glossary`
WHERE id>6000
NULL
- строки не были написаны. (Я уверен - последний идентификатор 6458).n error occurs => #1086 - File 'C:Documents and SettingsAnton.ZarkovDesktopjoomla_exportdata_AZ.sql' already exists
Условия: phpMyAdmin SQL Dump; версия 3.4.5; host: localhost; версия сервера: 5.5.16; Версия PHP: 5.3.8
mysqldump -uroot -p db_name table_name --where'id<1000000' > yourdumpname.sql
Ниже запрос для выбора из диапазона идентификаторов вы можете использовать date_created или любой вместо идентификатора
mysqldump --opt --host=dns --user=user_name --password db_name --tables table_name --where "id > 1 and id < 100 " > /file_name.sql
например: --where="date_created > '2019-01-18' "
→ insted of id