美文网首页
LVM快照备份流程

LVM快照备份流程

作者: 朱溪江 | 来源:发表于2019-01-17 20:49 被阅读6次

LVM备份MYSQL的前提(2选1):将已运行mysql迁移到LVM卷

#! bin/bash
echo "数据库信息将被备份在/backup目录下,并确定添加磁盘/dev/sdb"
read -p "请输入你的数据库密码:"   mysql_password
back_dir=/backup
if [ ! -d $back_dir ];then
        mkdir -p /backup
fi
file=`date +%F`-msyql.tar

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
##将mysql迁移到lvm上
##若是生产环境,不会有此步骤,mysql 会装在lvm上
lvm_remove_mysql(){
systemctl stop mysqld
umount /var/lib/mysql
lvremove /dev/mysqlvg/lv-mysql -y
mkfs.xfs -f /dev/sdb
pvcreate /dev/sdb  -y
vgcreate mysqlvg /dev/sdb
lvcreate -n lv-mysql -L 2G mysqlvg -y
mkfs.xfs -f /dev/mysqlvg/lv-mysql
##. 将数据迁移到LVM         先将新建的逻辑卷lv-mysql 挂在在mnt上,
##然后将数据库原始的信息拷贝到mnt中即拷贝到逻辑卷(lv-mysql)中,这样
##逻辑卷就有了数据库的原始信息,然后将逻辑卷从mnt取消挂载,挂载在/var/lib/mysql下,启动数据库,以后所有的信息都会存入逻辑卷中;(若/var/lib/mysql没人挂载,默认是系统盘,如果手动挂载,则读写存储会是你>挂载的盘)。至此,MySQL将迁移到lvm卷上。
systemctl stop mysqld
mount /dev/mysqlvg/lv-mysql /mnt/
cp -arf /var/lib/mysql/* /mnt

umount /mnt/ # 数据库原始的文件已经到逻辑卷中,目的达成,卸载临时>挂载

echo "/dev/mysqlvg/lv-mysql /var/lib/mysql  xfs defaults 0 0" >>/etc/fstab ## //加入fstab开机挂载   将已经含有数据库原始信息的逻辑卷
##挂载在数据库的默认路径下(/var/lib/mysql),这样所有的数据信息会存>到逻辑卷(sdb)中,而不是系统盘(sda)中
mount -a
if [ $? -ne 0 ];then
        echo '开机自动挂载'
fi

chown -R mysql.mysql /var/lib/mysql
systemctl restart mysqld
}

##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
###LVM快照备份
lvm_back(){
echo "flush tables with read lock;
                system lvcreate -L 500M -s -n lv-mysql-snap /dev/mysqlvg/lv-mysql;
                unlock tables;" | mysql -p"$mysql_password"
mysql -p"$mysql_password" -e 'show master status' > /backup/`date +%F_postion.txt`
mount -o nouuid /dev/mysqlvg/lv-mysql-snap /mnt/
cd /mnt/
tar -cf /backup/$file ./*
cd
umount /mnt/
lvremove -f /dev/mysqlvg/lv-mysql-snap
}



#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
##LVM快照恢复
lvm_recover(){
systemctl stop mysqld
rm -rf /var/lib/mysql/*
ls /var/lib/mysql/*
echo "已经模拟数据库损坏,清空/var/lib/mysql~~~~~~~~~~~~~~~~~~~~~~"
sleep 2
echo "导入数据~~~~~~~~~~~~~~"
tar -xf /backup/$file -C /var/lib/mysql/
chown -R mysql.mysql /var/lib/mysql/
systemctl restart mysqld
}

lvm_remove_mysql
lvm_back

```

相关文章

  • LVM快照备份流程

    LVM备份MYSQL的前提(2选1):将已运行mysql迁移到LVM卷

  • 2019-01-21mysql 物理备份

    一、tar备份数据库 二、lvm 快照实现物理备份 +binlog 1,lvm备份mysql的前提 2,创建库,表...

  • 物理备份案例

    例一:tar备份数据库(物理备份) 注意:备份期间,服务不可用备份过程 还原过程 例二:快照实现物理备份 lvm创...

  • mysqll数据库的备份与还原

    一、mysqldump进行mysqll数据库的备份与还原 二、物理备份:基于LVM2快照功能实现,冷备份,几乎热备...

  • LVM逻辑卷

    LVM逻辑卷是管理磁盘的一种方式,性质与基本磁盘无异。LVM可以随意扩张大小,缩减大小,快照备份。 对于磁盘的管理...

  • 数据库热备份神器 - XtraBackup

    常见的热备份方案 LVM方案 利用Linux的LVM技术来实现热备份,将MySQL的数据目录放到LVM逻辑卷上,然...

  • MySQL Lvm快照实现物理备份 + binlog(物理备份)

    1.环境准备 需要准备一块空的硬盘将其做成Lvm即可 2.开始备份MySQL数据库所有数据 systemctl s...

  • MySQL 备份及原理

    冷备份 服务停机进行数据文件拷贝进行备份。 逻辑备份 相关概念: 快照:快照备份是指通过文件系统...

  • mysql 备份、同步操作

    (第二十一周作业) 1、对数据库实现lvm2的备份和慢查询优化 1.1 LVM2备份操作 配合lvm2实现数据库备...

  • mysql的备份和迁移

    备份 热备lvm和xtrabackup:lvm支持分区,只要能否分区的数据库都支持这种方式进行热备;缺点就是备份期...

网友评论

      本文标题:LVM快照备份流程

      本文链接:https://www.haomeiwen.com/subject/wkjwdqtx.html