MySQL逻辑备份之mysqldump使用

本文详细介绍了MySQL的逻辑备份方法,包括全库、单库及个别表的导出,以及如何进行数据恢复。同时,提供了全量备份和增量备份的shell脚本示例,帮助用户实现数据库的自动化备份管理。全量备份脚本通过mysqldump导出所有数据库并压缩,增量备份则基于binlog进行操作。
摘要由CSDN通过智能技术生成
 逻辑备份一般用于数据迁移或者数据量很小时,采用数据导出的方法。
一、备份过程
1、导出所有的数据库
mysqldump -uroot -p -q --single-transaction -A > all.sql
2、导出其中的test库
mysqldump -uroot -p -q --single-transaction test >test.sql
3、导出其中的test库的个别表
mysqldump -uroot -p -q --single-transaction test table1 table2 >test_table1_table2.sql
二、恢复过程
mysql -uroot -p <all.sql  或者登陆到mysql命令行,执行 source all.sql
三、逻辑备份全量,增量备份脚本
全量备份:

点击(此处)折叠或打开

  1. #!/bin/bash
  2. #MySQL全量备份脚本
  3. cd /backup
  4. dateDIR=`date +"%y-%m-%d"`
  5. mkdir -p $dateDIR/data
  6. path=/mysql/data
  7. for i in `mysql -uroot -pmysql -e "show databases"|grep -v "Database"`
  8. do
  9. mysqldump -uroot -pmysql --default-character-set=utf8 -q --lock-all-tables --flush-logs -R -E --triggers -B $i |gzip > /backup/$dateDIR/data/${i}_${dateDIR}.sql.gz
  10. done
  11. binlog_rm=`tail -n 1 $path/mysql-bin-3306.index | awk -F"/" '{print $4}'`
  12. mysql -uroot -pmysql -e "purge binary logs to '$binlog_rm'"

增量备份:

点击(此处)折叠或打开

  1. #!/bin/bash
  2. #MySQL全量备份脚本
  3. cd /backup
  4. dateDIR=`date +"%y-%m-%d"`
  5. mkdir -p $dateDIR/data
  6. path=/mysql/data
  7. mysqladmin -uroot -pmysql flush-logs
  8. binlog_cp=`head -n -1 $path/mysql-bin-3306.index | awk -F"/" '{print $4}'`
  9. for i in $binlog_cp
  10. do
  11. mysql -uroot -pmysql -e "system cp -p $path/$i /backup/$dateDIR/data;"
  12. done
  13. binlog_rm=`tail -n 1 $path/mysql-bin-3306.index | awk -F"/" '{print $4}'`
  14. mysql -uroot -pmysql -e "purge binary logs to '$binlog_rm'"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值