首页 > 代码库 > Linux-6.5下 MariaDB-10基于LVM快照的备份数据 详解

Linux-6.5下 MariaDB-10基于LVM快照的备份数据 详解

理解部分:


        LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。LVM可以对分区在线扩容,快照,镜像和条带化,功能非常强大。这篇文章的主题就是其中一个功能——快照。

        快照(Snapshot)就是关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品;

        其实快照就相当于一张照片,照的某个时刻都应的lv的数据。如果在快照以后,lv的数据发生变化,快照就会将变化的数据拷贝到snap中,这样你通过快照去访问lv时,数据还是原来的数据。当然,在你创建snap的时候,肯定给这个快照指定了一个大小,如果变化的数据量超过了的指定的大小,那么快照将会损坏。


配置部分:
一、事先准备好LVM的环境.
1、查看是否创建LVM(是否挂载):

wKiom1NriSOTwY9MAAKcUSdyFb8073.jpg

2、当前lvs、vgs 的使用信息:

wKiom1NriSTRwpSzAAJC7DJvhyc741.jpg

 

二、请求全解锁及二进制日志.

1、导入测试环境的库:

wKioL1Ns5bfhj_RMAAFMP3IMlDY988.jpg

2、请求全局锁,并滚动日志:
wKiom1NriSbD_dflAAILETzSlOo015.jpg
3、查看滚动日志的状态:
wKioL1NriPyh5yNBAAFIlQGpnLY028.jpg
三、做好二进制日志的标记.
1、创建用于备份的目录
wKioL1NriPzgBiBvAACnqW9hprw804.jpg
2、做二进制日志文件及位置标记(手动进行);
wKiom1Ns5hHjN279AAGTwDKVy8M002.jpg
四、创建LVM快照及释放全局锁.
1、创建快照卷
wKioL1NriP3ByacLAAD_taBXh94902.jpg
2、释放全局锁
wKiom1NriSeTRUKOAACOty9Sfy8388.jpg
五、备份数据及删除快照.
1、挂载快照卷并查看是否成功挂载:
wKioL1NriP7xi36-AAH04PR4AYw428.jpg
2、在备份之前往表中插入数据以便测试:查看表及表中数据:
wKiom1NriSnAYsywAAJNJ2s9eU8389.jpg
3、查看表及表中数据:
wKioL1NriP-DaT-eAAF3eLZuKPE777.jpg
4、备份/mnt/mydata/目录下hellodb和test目录:
wKiom1NriSrhXVPUAAF2J_SAx4k829.jpg
5、备份完成之后,卸载及删除快照卷:
wKiom1NriSrwDBMVAAD5EQpRXmw669.jpg
六、模拟数据丢失.
1、不小心停止了MySQL服务:
wKioL1NriQDRVMK8AACm27bjWPg163.jpg
2、不小心将/data/mydata/目录下(hellodb和test)删除的数据:
wKiom1NriSugTzuLAAJ5ASNkRqw887.jpg
七、模拟恢复数据.
1、将之前备份的数据还原
wKioL1NriQGhms1PAAIC_D4g9Rk307.jpg
2、启动MySQL服务:
wKiom1NriSzw-9ogAABfj2fGgdI661.jpg
3、连入MySQL查看表数据:
wKioL1NriQHRQodQAACzPkwY92E682.jpg
4、查看/backups/binlog.pos文件:
wKiom1NriSygCRgsAAEYJlz2Fm8757.jpg
5、执行mysqlbinlog命令查看:
wKioL1NriQPif_MIAAJUPXUEhIk599.jpg
6、将其导入至MySQL中:
wKioL1NriQORu707AAB4FUgUt4M335.jpg
7、最后在连入MySQL并且查看是否恢复:
wKiom1NriS-CTm5kAACV6yAEeu8195.jpg
8、最后给一个建议:
wKiom1Ns5bmgtZDpAACoV78nH6I032.jpg




Welcome to the xiaomazi blog!!

 

.

本文出自 “不怕鬼的小马子” 博客,请务必保留此出处http://xiaomazi.blog.51cto.com/5891742/1413048