MYSQL 备份

1.备份原因:数据丢失或误删

目标:数据的一致性,服务的可用性

备份技术:物理备份/冷备份(直接复制数据库文件,拷贝数据,快,但是需要停止数据库)

逻辑备份/热备份:备份的是建库,建表,插入等操作所执行的SQL语言,适用于中小型数据库。(效率低,不需要停止数据库)

2.备份种类:完全备份

增量备份:一次完整备份,后面每次备份的是自上一次以来有变化的文件,备份的体积小,速度快。但是恢复时需要按照备份时间顺序,逐个备份版本进行恢复,恢复时间长。

差异备份:跳跃恢复,占用空间比增量备份大,比完整备份小。恢复时需要恢复第一个和最后一次的差异版本,恢复速度介于两者之间。

3.实战案例:去官方网址中找到percona-xtrabackup24版本,并用rz指令拷贝到虚拟机中。

同时在找到  mysql-community-libs-compat-y文件,并安装。(注:关闭防火墙和selinux)

完整备份:2e88157f217f42a9891dacbba039aa67.jpg

最后登录mysql机器,看数据是否正常。

增量备份bbb0aa3505b74c3b9102748af3ba81c0.jpg

b1198c0ea65840a79ef4d11b5312fdb8.jpg

6c01e0e98aa248e7831c3fe16af079c8.jpg

想恢复第三周的数据,只需要将第三天的数据与第一天的数据合并,生成一个回滚合并文件。后面的操作同上。

差异备份操作:备份第三天的数据时在第一天的基础上进行备份,当数据发生损坏时,将第三天的数据与第一天的备份数据合并,即可得到完整数据。

 4.使用mysql二进制文件进行数据恢复。

①:开启二进制文件:  vim/etc/my.cnf

log_bin

server-id=2保存退出(重启mysqld)

此时查看数据库,/var/lib/mysql会发现有一个二进制文件。

②:备份  mysqldump  -uroot  -p“密码”  数据库名 >备份文件

示例:mysqldump  -uroot  -p “密码”   --all-databases  --single-transaction  ——master-data=2  --flush-logs  >/backup/`date  +%F  -%H` -mysql-all.sql(密码后面的代表①所有数据库②传输性③二进制日志④刷新)

备份完成之后用cat指令查看备份的文件,主要查看第二十二行的文字。

③还原(担心实验做不成功的可以先备份二进制文件)

此刻模拟数据库损坏,停止数据库,清空内容。(注:开启数据库,查询初始密码,之后配置与之前不同的密码)

mysql  -uroot  -p“改过之后的密码” < /backup/备份的二进制文件

登录发现数据都回来了,此刻刷新数据库(flush  privileges;)退出登录,发现改过之后的密码用不了,密码为未改之前的。(注:数据库还原之后,密码也会还原为原来的)

灾难数据恢复:查看数据库中的二进制文件,会发现除了之前备份完成的二进制文件,有多出来了几个新的二进制文件,这几个文件就可以用作灾难数据恢复。备份完成之后,多插入几行数据,模拟灾难数据。

操作:mysqlbinlog  标记二进制文件(备份后多出的的均是)  --start-position=154(刚看的备份的二进制文件的终点) |mysql  -uroot  -p“密码”

备份完成之后就会发现数据回来了。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值