mysqldump with multiple tables with or without where clause

独自空忆成欢 提交于 2019-11-29 02:10:59
Sandeep Maharjan

make two dumps or if you dont want to make two dumps then try two command

a.

mysqldump -h<hostname> -u<username> -p 
<databasename>  <table1> <table2> <table3>
--single-transaction --no-create-info > dumpfile.sql

b.

mysqldump -h<hostname> -u<username> -p <databasename> 
<table4> --where 'created > DATE_SUB(now(), INTERVAL 7 DAY)',
<table5> --where 'created > DATE_SUB(now(), INTERVAL 7 DAY)
--single-transaction --no-create-info >> dumpfile.sql

c.

gzip dumpfile.sql
James

So the solution above won't work unless the tables have a common foreign key field.

If you look at my example below, the user_addresses, user_groups, and user_payment_methods all have the user_id field i common. When mysqldump executes the where clause it will filter those tables.

mysqldump -u <username> -p <password> 
user_addresses user_groups user_payment_methods 
-w "user_id 
in (select id from users where email like '%@domain.com')"
--single-transaction| gzip > sqldump.sql.gz
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!