导出整个数据库:

mysqldump -u username -p test > /home/data/test.sql
说明:username是数据库用户名,test源数据库,回车,输入数据库密码,就进行导入操作了!目标文件路径为/home/data/

导入数据库

mysql -u username -p test < /home/data/test.sql
说明:username是数据库用户名,test为目标数据库,回车,输入数据库密码

备份全部数据库

mysqldump -uroot -p --single-transaction -A --master-data=2 >/home/data/dump.sql

只还原某个数据库

mysql -uroot -p123456 test --one-database < dump.sql

从全库备份中抽取出test表的表结构

sed -e'/./{H;$!d;}' -e 'x;/CREATE TABLE `test`/!d;q' dump.sql

从全库备份中抽取出test表的内容

grep'INSERT INTO `test`' dump.sql

导出数据库中某张表:

mysqldump -u username -p test documents > /home/data/test.sql
说明:导出数据库test中的documents表到目标目录。

导出符合条件的数据

mysqldump -usqlserverlink -p data_center vip_dangqi_daily --where="date>='2017-04-01'" > /home/zhuanghd/test.sql

mysql批量导出多个表

mysqldump -uroot -p123456 itbaoxiu $(mysql -uroot -p123456 -Ditbaoxiu -Bse "show tables from itbaoxiu where tables_in_itbaoxiu like 'it_sm_%'") > it_sm_new.sql

备份相关 shell 举例

  • 备份库表结构及数据
/usr/local/mysql/bin/mysqldump -u root -p123456 caiji > /usr/backup/caiji/$(date +%Y%m%d).sql

/usr/local/mysql/bin/mysqldump -u root -p123456 data_center > /usr/backup/data_center/$(date +%Y%m%d).sql

/usr/local/mysql/bin/mysqldump -u root -p123456 b2b_cost_set b2b_goods_hot b2b_order_goods b2b_order_info > /usr/backup/$(date +%Y%m%d).sql
  • 只备份数据
/usr/local/mysql/bin/mysql -u root -p123456 -e "select * from spkcb_date where date='$(date -d "-1 day" +%Y-%m-%d)'" > /usr/backup/spkcb_date_$(date +%Y%m%d).sql

/usr/local/mysql/bin/mysql -u root -p123456 -e "select * from spkcb_date_new where date='$(date -d "-1 day" +%Y-%m-%d)'" > /usr/backup/spkcb_date_new_$(date +%Y%m%d).sql