MySQL备份和还原(四)--使用LVM快照备份

LVM:几乎热备
 
快照:snapshot
 LVM机制还提供了对LV做快照的功能,以此来获得文件系统的状态一致性备份。LVM采用写时复制技术(Copy-On-Write,COW),不用停止服务或将逻辑卷设为只读就可以进行备份,使用LVM快照功能既可以获得一致备份,又不会影响服务器的可用性。LVM采用的写时复制,是指当LVM快照创建的时候,仅复制原始卷中数据的元数据。换句话说,
也就是在创建LVM逻辑卷的时候,并不会发生数据的物理复制。再换句话说,复制元数据,不复制物理数据,够清楚了吧?因此快照的创建几乎是实时的。当原始卷上有写的操作执行时,快照会跟踪原始卷中块的改变,这个时候原始卷上将要改变的数据会在改变之前拷贝到快照预留的空间。

使用前提:
1.数据文件要在逻辑卷上
2.此逻辑卷所在卷组必须有足够的空间使用了快照卷
3.数据文件和事务日志要在同一个逻辑卷上


创建逻辑卷的步骤:
1)通过pvcreate命令将linux分区处理成物理卷(PV);
2)通过vgcreate命令将创建好的物理卷处理成卷组(Vg);
3)通过lvcreate命令将卷组分成若干个逻辑卷(Lv);
之后我们可以对逻辑卷进行格式化,挂载,删除等操作,我们可以动态的调整逻辑卷的大小,并且该操作不会影响我们在逻辑卷(Lv)上的数据


步骤;
1.打开会话,施加读锁,锁定所有表
mysql>flush tables with read lock;
mysql>flush logs;
2.通过另外一个终端保存二进制日志文件及相关位置信息
$ mysql -uroot -p -e 'show master status\g'> /path/to/master.info
3.创建快照卷
#lvcreate -L size -s -p -n LV_name /path/to/source_lv
比如:#lvcreate -L 50M -s -p -n mydata-snap /dev/myvg/mydata
4.释放锁 mysql>unlock tables;
5.挂载快照卷,备份
mount /dev/myvg/mydata-snap /mnt -o ro
cp -a /mnt/data/* /backup/full-backup/
umount /mnt
6.删除快照卷lvremove --force /dev/myvg/mydata-snap
7,增量备份二进制日志

还原:不下心把数据目录删了
1.cp -a /backup/full-backup/* /usr/local/mysql/data
2.进入数据库将二进制日志文件导入mysql>source 二进制日志文件.sql

你可能感兴趣的:(mysql)