mysql全量备份命令_mysql全量备份与增量备份

1.全量备份

简单的说就是将所有数据库或一个库全部备份。

2.增量备份

从上一次全量备份之后到下一次全量备份之前都叫做增量备份。

对于mysql,binlong日志就是mysql数据,对binlong的备份就是对mysql的备份。

备份的时候要锁表,影响用户体验,所以备份的频率各有优缺点。

mysql的mysqldump备份什么时候派上用场?迁移或者升级数据库时,

增加从库的时候

人为的DDLDML语句,主库没有办法了,所有库都会执行,恢复备份

跨机房灾备,需要备份到异地。

mysql数据恢复的必要条件

1.开启binlog,存在一份全备之后的时候到出问题时刻的所有增量的binlog文件备份。

全部备份的命令:[root@localhost ~]# mysqldump -uroot -p123456 -F --single-transaction -A -B | gzip > test.sql.gz

备份数据和恢复数据的时候,一定要将表锁住。

模拟一下:先对一个库进行全量备份:#mysqldump -uroot -p123456 -B --master-data=1 -F xpg | gzip > xpg_$(date +%F).sql.gz

2.然后使用insert给xpg这个库插入两条数据

3.使用drop  database dbname;删除这个库,等等

4.就是沟通谁进行的什么操作并结合binlog日志

5.下来就是重点:恢复,首先将表锁住,或者停止web服务禁止向mysql里面写数据。

6.先将全量备份的数据进行恢复,由于使用选项-F指定过,所以接下来的操作会写入到新的binlog日志文件中,将下来的文件中的sql语句提取出来,当然不要drop命令,然后执行一下sql命令就好了。

*需要注意的是,如果不是drop,而是update破坏数据,解决起来就复杂,为了防止update的错误操作:在登陆mysql的时候使用选项

-U:作用就是在执行update的时候如果不使用where条件判断就会报错。可以将mysql -U添加到别名里面;

3fd9d2e10ac772d9c5ae51bf40782d21.png

另一种方法指定开赴位置和结束位置

选项:--start-position  --stop-position

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值