所以我只能导出这样一个表:
mysqldump -u root -p db_name table_name > table_name.sql
有没有办法只使用mysqldump导出表的一部分?例如,0 - 1,000,000行,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 select的文件不同。对于第二种方法,您不能简单地使用:mysql database <table将表转储到数据库中。
在我的情况下,我已执行此操作:
SELECT *
INTO OUTFILE 'C:\Documents and Settings\Anton.Zarkov\Desktop\joomla_export\data_AZ.sql'
FROM `jos_glossary`
WHERE id>6000
NULL
- 没有写行。 (我敢肯定 - 最后一个ID是6458)
如果我重复查询an error occurs => #1086 - File 'C:Documents and SettingsAnton.ZarkovDesktopjoomla_exportdata_AZ.sql' already exists
不幸的是我无法在磁盘C上的任何地方找到“现有”文件。它在哪里?条件是: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
下面的查询是从id范围中选择你可以使用date_created或any而不是id
mysqldump --opt --host=dns --user=user_name --password=your_passwd db_name --tables table_name --where "id > 1 and id < 100 " > /file_name.sql
例如:qazxsw poi - >而不是id