mariadb实现冷备份与恢复操作案例(物理冷备份,周期性备份)详解

文章目录


前置环境

主机 ip
mariadb1 192.168.10.11
mariadb2 192.168.10.12

mairadb1操作
安装mariadb

yum -y install mariadb-server

启动mariadb

systemctl start mariadb

这里只是演示备份与恢复,所以不需要进行初始化操作,直接进入数据库就好了

进入数据库,随便创建一些数据来验证结果即可

mysql
\ 复制代码
create database test;
use test;
create table users(name char(16),passwd char(48));
insert into users values('zhangsan','123'),('lisi','234');
quit

大体就是这样的

在mariadb2上也安装mariadb

yum -y install mariadb-server

一、物理冷备份

1.备份
systemctl stop mariadb
mkdir /backup
cd /var/lib/
tar zcf /backup/mysql_all_$(date +%F).tar.gz mysql/
ls

首先关闭mariadb

创建一个存放备份的文件夹,即/backup

更改目录到mariadb目录

打包即可

简单解释一下(date +%F)

动态获取日期,一般用在周期性脚本中使用。

ls /backup

把这个压缩文件传到mariadb2上

scp /backup/mysql_all_2024-09-26.tar.gz root@192.168.10.12:/
2.恢复

mariadb2操作

查看备份文件有没有传过来

ls /
systemctl stop mariadb
cd /var/lib/
mv mysql/  mysql.bak
tar xf /mysql_all_2024-09-26.tar.gz 
systemctl start mariadb

关闭mariadb

cd到mairadb目录

将原本的mysql目录改成.bak作为备份。

将备份文件解压到这里

启动mariadb

检查结果

进入mariadb

mysql

查看库表

show databases;
use test;
select * from users;
describe users;

此结果同样适用于数据库的恢复操作,并且可以直接传输至其他服务器,从而实现数据的有效转移。

补充: 周期性恢复操作

创建一个脚本

vim /root/backup.sh
\ 复制代码
#!/bin/bash
date=$(date +%F)
cd /var/lib/
tar zcf /backup/mysql_all_${date}.tar.gz mysql/

周期任务

crontab -e
\ 复制代码
0 2 * * *  /usr/bash /root/backup.sh

不用担心重名问题,是以当前日期命名的

`

相关推荐
rubyw8 分钟前
SQL:如果字段需要排除某个值但又有空值时,不能直接用“<>”或not in
服务器·数据库·sql
zqh1767364646916 分钟前
cisp-pte多少钱考一次?cisp-pte报考费用及报考条件一次说清楚!
大数据·运维·服务器·安全·web安全·网络安全
TuringSnowy20 分钟前
SQL_having_pandas_filter
数据库·笔记·sql·mysql·pandas
奈李喔20 分钟前
综合实践:JPA+Thymeleaf 增删改查
数据库
丁总学Java23 分钟前
docker -私有镜像仓库 - harbor安装
运维·docker·容器·harbor
ZhongruiRao23 分钟前
PostgreSQL+MybatisPlus,设置逻辑删除字段后查询出现:操作符不存在: boolean = integer 错误
java·数据库·spring boot·postgresql
Maann25 分钟前
mobaxterm、vscode通过跳板机连接服务器
运维·服务器
neter.asia41 分钟前
Docker快速部署RabbitMq教程
linux·运维·服务器·docker
Xinan_____1 小时前
Linux——pod的控制器
linux·运维·服务器
点燃银河尽头的篝火(●'◡'●)1 小时前
【BurpSuite】SQL注入 | SQL injection(1-2)
数据库·redis·sql·网络安全