MySQL备份和恢复[2]-基于LVM的快照备份

准备工作

请求锁定所有表

mysql> FLUSH TABLES WITH READ LOCK;

记录二进制日志文件及事件位置

mysql> FLUSH LOGS;
mysql> SHOW MASTER STATUS;
mysql -e 'SHOW MASTER STATUS' > /PATH/TO/SOMEFILE

创建快照

lvcreate -L # -s -p r -n NAME /DEV/VG_NAME/LV_NAME

释放锁

mysql> UNLOCK TABLES;

挂载快照卷,执行数据备份

备份完成后,删除快照卷

制定好策略,通过原卷备份二进制日志

范例

#在目标服务器(10.0.0.18)安装mariadb-server,不启动服务
[root@centos8 ~]#dnf install mariadb-server
#在源主机(10.0.0.8)执行
[root@centos8 ~]# systemctl stop mariadb
[root@centos8 ~]# scp /etc/my.cnf.d/mariadb-server.cnf 10.0.0.18:/etc/my.cnf.d/
[root@centos8 ~]# scp -r /var/lib/mysql/* 10.0.0.18:/var/lib/mysql/
[root@centos8 ~]# scp -r /data/logbin/ 10.0.0.18:/data/ #10.0.0.18事先存
在/data/目录
#保留属性:可以用[root@centos8 ~]#rsync -av /var/lib/mysql/
10.0.0.18:/var/lib/mysql/
#在目标主机(10.0.0.18)执行
[root@centos8 ~]#chown -R mysql.mysql /var/lib/mysql/
[root@centos8 ~]#chown -R mysql.mysql /data/logbin/
[root@centos8 ~]#systemctl start mariadb

拷贝时权限问题
备份下来要做测试
写一个备份还原测试脚本
要写详细的文档。

二进制日志很重要。
备份之后的和崩溃之间的没办法恢复,需要二进制日志填坑。

适合传统业务,不适合

* * * 胖并快乐着的死肥宅 * * *
原文地址:https://www.cnblogs.com/bpzblog/p/13097785.html