首页 > 其他分享 >实现LVM的备份还原,结合binlog恢复最新状态

实现LVM的备份还原,结合binlog恢复最新状态

时间:2023-07-14 19:33:43浏览次数:40  
标签:binlog backup 备份 lv mysql LVM data


- 备份过程

1 实现LVM
mkdir /data/{mysql,binlog}
vim /etc/fstab
mount /dev/vg0/lv_mysql /data/mysql
mount /dev/vg0/lv_binlog /data/binlog

chown -R mysql.mysql /data/
vim /etc/my.cnf
datadir=/data/mysql
log_bin=/data/binlog/mysql-bin

systemctl restart mariadb

2 mysql> flush tables with read lock 读锁
mysql>flush logs;
mysql>show master logs; 记录文件名和position。如mysql-bin.000004,245

3 快照
lvcreate -n lv_mysql_snap -L 1G -s -p r /dev/vg0/lv_mysql

4 mysql>unlock tables; 解锁

5 备份快照里的内容
mount -o nouuid,norecovery /dev/vg0/lv_mysql_snap /mnt
cp -a /mnt/ /backup/

umount /mnt
lvremove /dev/vg0/lv_mysql_snap

备份过程结束

二 还原过程

1 系统损坏
rm -rf /data/mysql/*
systemctl stop mariadb

2 还原备份的数据文件
cp -av /backup/* /data/mysql/

3 禁止用户连接
vim /etc/my.cnf、
skip_networking
systemctl start mariadb

iptables 禁止用户连接

4 恢复binlog中最新日志到数据库中
mysqlbinlog --start-position=245 mysql-bin.000004 > /backup/bin.sql
mysqlbinlog mysql-bin.000005 >> /backup/bin.sql
mysql < /backup/bin.sql

5 恢复用户访问
vim /etc/my.cnf、
skip_networking删除此行
systemctl start mariadb
或iptables 清除

标签:binlog,backup,备份,lv,mysql,LVM,data
From: https://www.cnblogs.com/xuxuxu-2022/p/17554815.html

相关文章

  • mysql binlog
    mysql二进制日志(binnarylog)binlog记录了对MySQL数据库执行更改的所有操作binlog是记录所有数据库表结构变更(例如CREATE、ALTERTABLE…)以及表数据修改(INSERT、UPDATE、DELETE…)的二进制日志。不会记录SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改,但可以通过查询通......
  • KingbaseES V8R6集群运维案例之---single-pro模式备份
    案例说明:KingbaseESV8R6集群物理备份配置参数_target_db_style,可选single或cluster或single-pro。single对应单机模式的目标数据库实例,cluster对应集群模式的目标数据库实例,single-pro对应集群模式的每个DB节点独立备份。本案例详细描述集群架构在singl-pro模式下的备份。适用......
  • WINDOWS 环境下编译 OLLVM 替换到 NDK 环境
    编译OLLVM环境准备这里使用的是AGP7.2.2、NDK25.2.9519653、llvm14.0.7、cmake3.22.1、python39git用来下载源码python搞到这一步环境变量里应该已经有python了吧NDKAGP的7.2.2版本默认使用的NDK版本为21.4.7075529,对应的LLVM为9.0.9。需要根据实际情况选择......
  • linux环境用mysqldump定时备份Mysql数据
    每日备份mysql的数据,并保留一定数量的备份文件一、Mysql备份脚本backup.shvibackup.sh#!/bin/bash#保存备份个,备份31天的数据number=31#备份保存路径backup_dir=/home/mysql/data/mysqlbackup#日期dd=`data+%Y-%m-%d-%H-%M-%S`#备份工具tool=mysqldump#用户......
  • Windows:基+差:一种比较完美的操作系统备份、还原、使用的方案
    如下图:第一个基本镜像的格式,可以是wmi格式,也可以是vhdx,当然更可以是vhd格式!第2+个差量镜像就只能是vhd,或vhdx格式了。  ......
  • 怎么在数据库里关闭mysqlbinlog 这个问题怎么解决?
    项目方案:关闭MySQLBinlog1.项目背景MySQLBinlog是MySQL数据库的事务日志,它记录了数据库的所有操作,包括插入、更新和删除等操作。在某些情况下,我们可能需要关闭MySQLBinlog来提高数据库的性能或保护敏感数据。2.方案介绍本方案将介绍如何在MySQL数据库中关闭MySQLBinlog。......
  • 记什么是灾难备份、灾难恢复
    IBM的理解 https://www.ibm.com/cn-zh/topics/backup-disaster-recovery备份和灾难恢复之间有一个重要的区别。 备份是指额外制作一份或多份数据副本的过程。备份数据是为了保护数据。如果遇到意外删除、数据库损坏或软件升级问题,就可能需要还原备份数据。而另一方面,灾难恢......
  • VisualVM 的 OQL 的一些例子
    VisualVM的OQL语言是对HeapDump进行查询,类似于SQL的查询语言,它的基本语法如下:select<JavaScriptexpressiontoselect>[from[instanceof]<classname><identifier>[where<JavaScriptbooleanexpressiontofilter>]]OQL由3个部分组成:select子句、from子句和w......
  • win10文件异地备份
    1、依次打开控制面板—管理工具—任务计划程序。2、依次点击展开任务计划程序库—Microsoft—Windows—WindowsBackup。  3、在右侧窗口空白处点击右键,在弹出的菜单中点击新建任务。 4、根据提示输入计划的名称和描述。 5、点击触发器选项卡,在下方点击新建,在弹出的窗......
  • 一. 使用LLVM编译程序
    1.编译C程序:编写C程序HelloLLVM.c:#include<stdio.h>intmain(){printf("HelloLLVM!\n");}执行编译命令:clangHelloLLVM.c-oHelloLLVM运行结果:./HelloLLVMHelloLLVM!2.编译C++程序:类似的,编写C++程序HelloLLVM.cpp:#include<iostream>usingna......