LVM备份MYSQL的前提:
①:全新安装mysql在LVM卷
②:将已运行mysql迁移到LVM卷
1. 准备lvm及文件系
1. lvcreate -n lv-mysql -L 2G datavg
2.mkfs.xfs /dev/datavg/lv-mysql
2. 将数据迁移到LVM
systemctl stop mysqld
mount /dev/datavg/lv-mysql /mnt/ //临时挂载点
cp -a /var/lib/mysql/* /mnt //将MySQL原数据镜像到临时挂载点
umount /mnt/
vim /etc/fstab (/dev/datavg/lv-mysql /var/lib/mysql xfs defaults 0 0) //加入fstab开机挂载
mount -a
chown -R mysql.mysql /var/lib/mysql
systemctl start mysqld
LVM快照备份流程:
1. 加全局读锁 mysql> flush tables with read lock; // 1-3必须同一会话中完成
2. 创建快照 1.lvcreate -L 500M -s -n lv-mysql-snap /dev/datavg/lv-mysql
2.mysql -p'mima@123' -e 'show ma ster status' > /backup/`date +%F`_position.txt //查询二进制日志的位置,下次使用binlog 作为还原数据(最近一次备份点到崩溃点之间的数据)的依据。
3. 释放锁 mysql> unlock tables;
4. 从快照中拷贝 1.mount -o nouuid /dev/datavg/lv-mysql-snap /mnt/ //如果是xfs文件系统:请使用额外选项-o ro,nouuid
2.cd /mnt/
3.tar -cf /backup/`date +%F`-mysql-all.tar ./* //快照的使命结束。删除快照。
5. 移除快照 1.cd; umount /mnt/
2. lvremove -f /dev/datavg/lv-mysql-snap