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

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

`

相关推荐
Austindatabases几秒前
SQLite 开发中的数据库开发规范 --如何提升业务系统性能避免基础BUG
数据库·oracle·sqlite·bug·数据库开发
枫叶丹41 分钟前
【Qt开发】Qt窗口(六) -> QMessageBox 消息对话框
c语言·开发语言·数据库·c++·qt·microsoft
星环处相逢1 分钟前
MySQL 备份与还原:理论与实战全解析
数据库·mysql
牛奶咖啡131 分钟前
制作无人值守自动化系统镜像并实现自动化安装——万能系统引导U盘版本
运维·制作万能系统引导u盘·实现对整个系统的安装备份·制作自动化无人值守系统镜像·使用自动化无人值守系统镜像部署·使用再生龙实现系统的自动化安装
一起养小猫2 分钟前
MySQL数据库基础:从三层结构到常用操作
数据库·mysql
ShiLiu_mtx3 分钟前
Keepalived,Haproxy负载均衡集群
linux·运维·负载均衡
l***91473 分钟前
【MySQL】深度学习数据库开发技术:使用CC++语言访问数据库
数据库·mysql·数据库开发
Wang's Blog4 分钟前
MongoDB小课堂:精通数据迁移工具 mongoexport 与 mongoimport 的终极指南
数据库·mongodb
一 乐6 分钟前
旅游出行|基于Springboot+Vue的旅游出行管理系统设计与实现(源码+数据库+文档)
前端·数据库·vue.js·spring boot·后端·旅游
橘颂TA7 分钟前
【Linux】进程池
linux·运维·服务器·c++