基于lvm热备的数据库备份

            基于lvm热备的数据库备份

 

 MySQL备份的常见方法
1、mysqldump命令
2、数据库文件拷贝命令
3、主从数据库备份
第一和第二种方法都会中断运行MySQL一段时间,尤其是在数据量比较大的时候,中断的时间会比较长,这样同时也会造成网站的中断。
第三种方法虽然不会中断数据库,但主从经常会出现数据不一致的情况,而且要同时维护一台slave数据库,成本比较高。

 

 下面介绍一种利用LVM的快照功能做MySQL数据库备份的方法。

1:提前的准备

 首先,需要将MySQL的数据库目录放到LVM中。可以通过更改my.cnf的datadir参数来实现,也可以不改参数,用 ln -s 创建符号链接的方法将某一个数据库指向LVM中

    然后创建逻辑卷,代码如下

lvcreate -L10G -n mysql-data vgmysql

mkfs.ext3 /dev/vg01/mysql-data

mkdir /mysql/data

mkdir /mysql/logbin

mkdir /mysql/backup

mount /dev/vgmysql/lvmysql /mysql/dta

mount /dev/vgmysql/lvmlogbin /mysql/logbin

mount /dev/vgmysql/lvmbackup /mysql/backup

 

chown -R mysql:mysql /home/mysqldata

ln -s /home/mysqldata/YOUR-DB /var/lib/mysql/YOUR-DB

  

 

  1. 开始给逻辑卷备份

备份之前需要将数据库表锁定,并且查看当前二进制日志以便恢复。然后打开表的锁(速度要快防止数据库锁定时间过长)。

flush tables with read lock  给数据库上读锁

show master status            查看当前二进制日志

 

 

 

2)./dev/vg01/mysql-data创建一个快照卷需要在另一个终端操作

     lvcreate -n lvdata_snap -L 0.5G -s -p r /dev/vgmysql/lvdata

  

 

 

(3)解锁

 unlock tables;               将数据库的读锁取消

 

(4)挂载lvm快照,并通过cp将备份移走

 

mount -o nouuid,norecovery /dev/vgmysql/lvdata_snap /mysql/lvmbackup

cp -a /mysql/lvmbackup /mysql/backup/lvm_$(date +%F_%T)

 

 

 

 

(5)模拟数据库丢失

删除掉/mysql/data  数据库文件的删除

 

 

  1. 模拟数据恢

(1)数据恢复

systemctl stop mariadb.service

cp -a /mysql/backup/lvm_2018-10-10_15\:17\:14/* /mysql/data/

 

  

 

systemctl start mariadb.service

(2)关闭远程访问,避免数据错误丢失

 

vim /etc/my.cnf

skip_networking

 

 

(3)恢复二进制日志
 mysqlbinlog --start-position=245 /mysql/logbin.000004 > /root/bin.sql

mysqlbinlog /mysql/logbin.000005 >> /root/bin.sql

mysqlbinlog /mysql/logbin.000006 >> /root/bin.sql

mysql < /root/bin.sql

 数据恢复成功。

 

(4) 开启数据库访问

vim /etc/my.cnf

注释或删除该行skip_networking

 

转载于:https://www.cnblogs.com/zkwjl/p/9783995.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值