mysqldump:
https://www.cnblogs.com/chenmh/p/5300370.html
mysqldump -uroot -p123.com --lock-all-tables --flush-logs --databases test > /mysqlbackup/test_`date +%F`.sql
##--lock-all-tables:备份时为所有表请求加锁
##--flush-log:备份之前刷新日志
该命令会导出包括系统数据库在内的所有数据库:
mysqldump -uroot -proot --all-databases >/tmp/all.sql
导出db1、db2两个数据库的所有数据:
mysqldump -uroot -proot --databases db1 db2 >/tmp/user.sql
导出db1中的a1、a2表:
mysqldump -uroot -proot --databases db1 --tables a1 a2 >/tmp/db1.sql
条件导出,导出db1表a1中id=1的数据:
mysqldump -uroot -proot --databases db1 --tables a1 --where='id=1' >/tmp/a1.sql
只导出表结构不导出数据,--no-data:
mysqldump -uroot -proot --no-data --databases db1 >/tmp/db1.sql
跨服务器导出导入数据:
mysqldump --host=h1 -uroot -proot --databases db1 |mysql --host=h2 -uroot -proot db2
将h1服务器中的db1数据库的所有数据导入到h2中的db2数据库中,db2的数据库必须存在否则会报错: ##加上-C参数可以启用压缩传递
mysqldump --host=192.168.80.137 -uroot -proot -C --databases test |mysql --host=192.168.80.133 -uroot -proot test
压缩备份:
mysqldump -uroot -proot --databases abc 2>/dev/null |gzip >/abc.sql.gz