mysqldump备份(mysql增量备份)

一、mysql数据库自带备份命令:mysqldump
1、备份:
 mysqldump -u用户名 -p'密码' 数据库名 >备份的文件名
如:1、mysqldump -uroot -p'123' zdh >/opt/mysql_bak.sql
        2、mysqldump -uroot -p'123' -B zdh >/opt/mysql_bak_B.sql(-B参数,指定多个库,导出数据,推荐)
3、mysqldump -uroot -p'123' --compact -B zdh >/opt/mysql_bak_B_compact.sql(--compact,适用于debug调优,
  去掉注释,生产场景不用,不推荐)
4、压缩备份:
  mysqldump -uroot -p'123' -B zdh|gzip >/opt/mysql_bak_sql.gz
5、压缩备份多个库:
  mysqldump -uroot -p'123' -B zdh oldboy|gzip >/opt/mysql_bak_sql.gz
  (备份zdh和oldboy两个mysql数据库)
6、备份多个库:
  mysqldump -uroot -p'123' -e "show databases;"|grep -Evi "database|infor|perfor"|sed 's#^#mysqldump -uroot -p'123' -B #g'
(其中root是用户名,123是mysql登录密码,zdh是mysql的一个数据库名,/opt/mysql_bak.sql
表示备份的位置和文件名,加了-B参数其备份的sql语句多了create database db创库
和use 'db'连接库的过程)
2、恢复:
  mysqldump -u用户名 -p'密码' 数据库名 <备份的文件名
  如:1、mysqldump -uroot -p'123' zdh </opt/mysql_bak.sql
      2、mysqldump -uroot -p'123' </opt/mysql_bak_B.sql(这个仅仅适用于备份时加了-B参数的备份)
3、查看mysqldump下备份的sql语句
 egrep -v "#|\*|--|^$" /opt/mysql_bak.sql
4、查看mysql的字符集:
  mysql -uroot -p123 -e "show variables like '%character%'"
5、查看sql的内容:

  less /opt/mysql_bak_B_compact.sql  


二、mysqldump工作原理:

    备份:以逻辑的sql语句形式直接备份文件;


三、mysql单多表备份:
1、备份单表:
mysqldump -u用户名 -p'密码' 数据库名 表名 >备份的文件名
mysqldump -uroot -p'123' zdh student >/opt/one.sql
(zdh是数据库名,student是zdh下的表名)
2、备份多表:
mysqldump -u用户名 -p'密码' 数据库名 表名1 表名2 >备份的文件名

mysqldump -uroot -p'123' zdh student temp >/opt/two.sql


四、只备份mysql表结构和只备份mysql数据:
1、只备份mysql表结构:
mysqldump -u用户名 -p'密码' -d 数据库名 >备份的文件名
mysqldump -uroot -p'123' -d zdh >/opt/three.sql
2、只备份mysql数据:
mysqldump -u用户名 -p'密码' -t 数据库名 >备份的文件名

mysqldump -uroot -p'123' -t zdh >/opt/three.sql


五、mysql全库压缩备份:
mysqldump -u用户名 -p'密码' -A -B --events|gzip >备份的文件名

mysqldump -uroot -p'123' -A -B --events|gzip >/opt/a.sql.gz


六、mysql增量备份(刷新binlog参数,从当前备份binlog点之后增量备份):
1、mysqldump -u用户名 -p'密码' -A -B -F --events|gzip >备份的文件名
   mysqldump -uroot -p'123' -A -B -F --events|gzip >/opt/a.sql.gz
 1.1、自动找到binlog的文件和位置:
     mysqldump -uroot -p'123' --master-data=1 student >/opt/student.sql
     会出现CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.007',MASTER_LOG_POS=107;
     CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.007':表示binlog的文件
     107:表示当前备份的点
 1.2、查看mysqlbinlog的安装位置:

       which binlog


七、参数总结:
1、-B 指定多个库,增加建库语句和use语句
2、--compact 去掉注释,精简输出,适合debug,生产不用
3、-A 备份全库
4、-F 刷新binlog日志
5、--master-data 增加binlog日志文件名以及对应的位置点(matser-data=1/2,2多了注释,1精简表示可执行用于mysql从库,master-data能知道mysqlbinlog日志和对应的位置点)
6、-x 锁表
7、-l 只读锁表
8、-d 只备份表结构
9、-t 只备份数据

10、--single-transaction  适合innodb事务库备份(设置会话的隔离级别为:REPEATABLE READ)


八、引擎备份:
8.1:myisam常规备份
    mysqldump -uroot -p'123' -A -B -F --master-data=2 -x --events|gzip >/opt/student.sql
8.2:innodb常规备份
     mysqldump -uroot -p'123' -A -B -F --master-data=2 --single-transaction --events|gzip >/opt/student.sql
 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值