MySQL进行备份_实现多种方式对MYSQL进行备份

一、mysqldump+binlog备份与恢复

此方式是完全备份,通过备份二进制日志实现增量备份。具体步骤如下:

①创建备份的目录

0818b9ca8b590ca3270a3433284dd417.png

②创建备份的数据库和表。

0818b9ca8b590ca3270a3433284dd417.png

③备份数据库

0818b9ca8b590ca3270a3433284dd417.png

④向表中插入数据。

0818b9ca8b590ca3270a3433284dd417.png

⑤进行增量备份,备份二进制日志。 【记得开启二进制日志】

mariadb配置文件

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

⑥进行增量备份,备份二进制日志

查看二进制日志

0818b9ca8b590ca3270a3433284dd417.png

再添加一条数据进行备份二进制日志

0818b9ca8b590ca3270a3433284dd417.png  ⑦继续插入数据,没有备份,模拟误删除数据库。

0818b9ca8b590ca3270a3433284dd417.png

将最后操作的二进制日志进行备份

查看最后操作日志的命令:

mysqlbinlog /var/lib/mysql/log-bin.0000002 (注:黄色代表自定义二进制日志的名)

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png  ⑧导入之前所有备份

0818b9ca8b590ca3270a3433284dd417.png

⑨查看数据库及数据。

0818b9ca8b590ca3270a3433284dd417.png

恢复成功。

二、xtrabackup方式备份

对InnoDB:热备,支持完全备份和增量备份

对MyISAM:温备,只支持完全备份

特点:

(1)备份过程快速、可靠

(2)备份过程不会打断正在执行的事务

(3)能够基于压缩等功能节约磁盘空间和流量

(4)自动实现备份检验

(5)还原速度快

实现步骤:

①安装包。

yum install xtrabackup

②进行完全备份。

命令:innobackupex --user=root /app/backup/,并进行修改权限。

0818b9ca8b590ca3270a3433284dd417.png

修改mariadb配置文件,修改目录路径。

0818b9ca8b590ca3270a3433284dd417.png

重启数据库查看数据库内容。

0818b9ca8b590ca3270a3433284dd417.png

③实现增量备份

对test数据库的backup表里增加数据。

0818b9ca8b590ca3270a3433284dd417.png

命令:innobackupex --incremental /app/backup/ --incremental-basedir=/app/backup/2017-11-16_15-49-35 【尽量写绝对路径】

0818b9ca8b590ca3270a3433284dd417.png

④实现数据恢复

数据恢复准备:

命令:innobackupex --apply-log --redo-only /app/backup/2017-11-16_16-42-25/

0818b9ca8b590ca3270a3433284dd417.png

模拟损坏数据库。

命令:mv /var/lib/mysql /var/lib/mysql.bak

创建mysql  mkdir mysql

cd mysql/  执行命令:innobackupex --copy-back /app/backup/2017-11-16_16-45-10

重启数据库进行查看

0818b9ca8b590ca3270a3433284dd417.png

三、基于lvm快照+binlog实现备份。

①添加一块硬盘

0818b9ca8b590ca3270a3433284dd417.png

②进行分区,并格式化LVM格式。

0818b9ca8b590ca3270a3433284dd417.png

③创建逻辑卷组并进行挂载。

0818b9ca8b590ca3270a3433284dd417.png

④移动数据库文件,修改数据库配置文件,进行重启。

0818b9ca8b590ca3270a3433284dd417.png

修改权限:chown -R mysql:mysql /mnt/lvs_snap/

⑤创建测试数据库,并锁定数据库。

0818b9ca8b590ca3270a3433284dd417.png

⑥给数据库进行快照,并解锁所有表。

0818b9ca8b590ca3270a3433284dd417.png

⑦挂载创建的快照,并对其内容进行打包。

mkdir /mnt/test_snap -p

mount /dev/mysql/test-snap /mnt/test_sanp/

tar cvf /app/mysqlbackup.tar /mnt/tset_snap/

0818b9ca8b590ca3270a3433284dd417.png  ⑧取消挂载,删除快照。

umount /mnt/test_snap

rm -rf /dev/mysql/test-snap

0818b9ca8b590ca3270a3433284dd417.png

⑨删除数据库,并对压缩包解压。

rm -rf /mnt/lvm_snap/*

tar xvf /app/mysqlbackup.tar /mnt/lvm_snap/

0818b9ca8b590ca3270a3433284dd417.png

⑩重启服务,验证是否数据恢复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值