当前位置: 首页 > news >正文

Linux 配置 MySQL 定时自动备份到另一台服务器

Linux 配置 MySQL 定时自动备份到另一台服务器

  • 前言
  • 1、配置服务器通信
    • 1.1:配置过程
  • 2、编写自动备份sh脚本文件
  • 3:设置定时自动执行

前言

此方案可使一台服务器上的 MySQL 中的所有数据库每天 0 点自动转储为 .sql 文件,然后将文件同步到另一台服务器上,可以作为一个简单的数据容灾。

1、配置服务器通信

作用是可以使备份好的sql可以通过scp复制到目标服务器

  • A服务器:数据库所在服务器
  • B服务器:需要备份的服务器(即目标服务器)

1.1:配置过程

  • A和B服务器执行如下命令,一直敲回车
ssh-keygen -t rsa
  • 会在/root/.ssh目录下生成两个文件(id_rsa,id_rsa.pub)
    在这里插入图片描述
  • 把A服务器的 id_rsa.pub 里的内容全选复制到B服务器的相同目录,创建新文件authorized_keys,把内容复制到此文件
  • 创建新文件命令
cd /root/.ssh/
vim authorized_keys
  • B服务器目录文件如图
    在这里插入图片描述

  • A服务器目录文件如图
    在这里插入图片描述

  • 这样两台服务器SSH链接就建立好了,使用SCP命令就不需要输入密码了

  • B服务器创建文件夹用于存放备份文件

mkdir -p /data/mysqlAutoBackupFrom16

2、编写自动备份sh脚本文件

  1. A服务器创建存放脚本文件目录和备份目录,进入mysqlAutoBackupTo24
mkdir -p /data/mysqlAutoBackupTo24/backup
cd /data/mysqlAutoBackupTo24
  1. 创建脚本文件
vim AutoBackup.sh
  1. 粘贴AutoBackup.sh 里面的内容
#下面生成的sql在本服务器存放的文件夹,就是我上面建立的
BACKUP=/data/mysqlAutoBackupTo16/backup/
#当前时间,用来命名sql文件
DATETIME=$(date +%Y-%m-%d)
echo "===备份开始==="
echo "备份文件存放于${BACKUP}/$DATABASE-$DATETIME.sql"
#生成sql文件,命名
DATABASE=dbBackup
echo $DATABASE-$DATETIME
#mysqldump -h localhost -u${DB_USER} -p${DB_PW} --all-databases > ${BACKUP}/$DATABASE-$DATETIME.sql
mysqldump -h 192.168.90.16 -uroot -pWuyuanDev001 --databases xxl_job xxl_job_hf_test > ${BACKUP}/$DATABASE-$DATETIME.sql
echo "===导出成功,开始传输==="
#将sql文件从服务器16备份到服务器24自己建立的文件夹/data/mysqlAutoBackupFrom16下面
scp -P 22 $BACKUP$DATABASE-$DATETIME.sql root@192.168.90.24:/data/mysqlAutoBackupFrom16
#删除备份目录
#rm -rf ${BACKUP}/$DATETIME
#删除7天前备份的数据,自行更改
#find $BACKUP -mtime +7 -name "*.sql" -exec rm -rf {} \;
echo "===数据库备份到服务器成功==="

在这里插入图片描述
4. 文件关键代码解释
mysqldump 的 -h 后面写当前服务器的 IP,也就是192.168.90.16,不要写 localhost,因为如果是离线安装的 mysql 可能没有 mysqld.socket ,导致连接失败。

--databases xxl_job xxl_job_hf_test 的意思是指定备份 xxl_job 和 xxl_job_hf_test 这个两个数据库,指定多个数据库要加 --databases ,数据库用空格隔开,上面一句注释掉的是 --all-databases ,意思是备份全部数据库。scp -P 22 是指定 ssh 端口,不指定默认为 22,root 是目标服务器192.168.90.24 的用户名下面我们运行一下这个 sh 看看效果,cd 到你的 sh 存放的文件夹 sh AutoBackup.sh,首次进行 ssh 连接要输入一个 yes 回车,然后去目标服务器 24 查看,sql 文件已经同步过去。
  1. 执行测试
    在这里插入图片描述
  2. 成功截图
    在这里插入图片描述

3:设置定时自动执行

  1. 上面的测试没有问题,下面我们设定一个每天 0 点自动执行 sh 脚本,就可以失效每天的自动同步。首先赋予要执行的 shell 脚本权限,给高一点,不然没法自动执行
chmod 777 /data/mysqlAutoBackupTo24/AutoBackup.sh
  1. 输入下面语句,vim 会打开一个文件
crontab -e
  1. 里面这样写,保存,前面的 02 00 * * * 是 cron 表达式,代表每天 00:02 执行 /data/mysqlAutoBackupTo24/AutoBackup.sh,之所以设置 00:02 是因为避免服务器在 0 点的时候有其他数据同步任务,所以晚一点。cron 表达式的语法你们可以学一下。
02 00 * * * sh /data/mysqlAutoBackupTo24/AutoBackup.sh

在这里插入图片描述

  1. 保险起见再刷新一下配置
service crond reload

相关文章:

Linux 配置 MySQL 定时自动备份到另一台服务器

Linux 配置 MySQL 定时自动备份到另一台服务器 前言1、配置服务器通信1.1:配置过程 2、编写自动备份sh脚本文件3:设置定时自动执行 前言 此方案可使一台服务器上的 MySQL 中的所有数据库每天 0 点自动转储为 .sql 文件,然后将文件同步到另一…...

PostgreSQL 备库的延迟问题

目录标题 1. 查看主备状态计算方式:实际情况:举个例子: 2. 查看历史状态3. 分析日志文件4. 查看数据库层面的复制状态5. 检查活动事务6. 检查系统资源7. 检查网络状况8. 检查复制槽状态9. 检查未提交的两阶段事务 要排查 PostgreSQL 备库的延…...

力扣-二叉树-226 翻转二叉树

思路 利用递归的思路 代码 class Solution { public:TreeNode* invertTree(TreeNode* root) {if(root nullptr){return root;}swap( root->right, root->left);invertTree(root->left);invertTree(root->right);return root;} };...

基于SpringBoot的在线车辆租赁信息管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 随着互联网技术的不断发展和人们生活水平的提高,汽车租赁行业迎来了前所未有的发展机遇。传统的汽车租赁方式往往存在流程繁琐、信息不透明等问题,难以满足现代消费者对于便捷、高效服务的需求。因此&…...

掌握 systemd:Linux 服务管理的核心工具

1. 什么是 systemd? 定义:systemd 是 Linux 系统的初始化系统(init system)和服务管理器,用于替代传统的 SysVinit。核心目标: 加速系统启动(并行化任务)。统一管理服务、日志、挂载…...

【信息系统项目管理师-案例真题】2019下半年案例分析答案和详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 试题一【问题 1】(6 分)【问题 2‍ 】(8 分)【问题 3‍ 】(11 分)试题二【问题 1】‍(5分)【问题 2】‍ (14 分)【问题 3‍ 】(6 分)试题三【问题 1】(8 分)【问题 2‍ 】(6 分)【问题 3】‍ (8 分)【问题 4‍ …...

C/C++程序的内存是如何开辟的?

💬 欢迎讨论:在阅读过程中有任何疑问,欢迎在评论区留言,我们一起交流学习! 👍 点赞、收藏与分享:如果你觉得这篇文章对你有帮助,记得点赞、收藏,并分享给更多对C语言感兴…...

日志结构化处理:PO对象toString日志转JSON工具

日志结构化处理:PO对象toString日志转JSON工具 1. 解决的问题2. 下载地址 在Java项目中,PO(Plain Old Java Object)对象遍布各个角落,且常常伴随着大量的日志记录需求。传统的做法是通过toString方法直接打印这些对象&…...

python学opencv|读取图像(六十五)使用cv2.boundingRect()函数实现图像轮廓矩形标注

【1】引言 前序学习进程中,已经使用cv2.findContours()函数cv2.drawContours()函数实现图像轮廓识别和标注,这种标注沿着图像的轮廓进行,比较细致。相关文章链接为: python学opencv|读取图像(六十四)使用…...

大疆无人机需要的kml文件如何制作kml导出(大疆KML文件)

大疆无人机需要的轨迹kml文件,是一种专门的格式,这个kml里面只有轨迹点,其它的属性信息都不需要。 BigemapPro提供了专门的大疆格式输出, 软件这里下载 www.bigemap.com 安装后,kml导入如下图: 然后选择…...

ArrayList、LinkedList、HashMap、HashTable、HashSet、TreeSet

集合族谱 在这些集合中,仅有vector和hashtable是线程安全的,其内部方法基本都有synchronized修饰。 ArrayList 底层采用Object数组实现,实现了RandomAccess接口因此支持随机访问。插入删除操作效率慢。 ArrayList需要一份连续的内存空间。 A…...

手动配置IP

手动配置IP,需要考虑四个配置项: 四个配置项 IP地址、子网掩码、默认网关、DNS服务器 IP地址:格式表现为点分十进制,如192.168.254.1 子网掩码:用于区分网络位和主机位 【子网掩码的二进制表达式一定是连续的&#…...

idea如何使用AI编程提升效率-在IntelliJ IDEA 中安装 GitHub Copilot 插件的步骤-卓伊凡

idea如何使用AI编程提升效率-在IntelliJ IDEA 中安装 GitHub Copilot 插件的步骤-卓伊凡 问题 idea编译器 安装copilot AI工具 实际操作 在 IntelliJ IDEA 中安装 GitHub Copilot 插件的步骤如下: 打开 IntelliJ IDEA: 打开你的 IntelliJ IDEA 应用…...

游戏引擎学习第101天

回顾当前情况 昨天的进度基本上完成了所有内容,但我们还没有进行调试。虽然我们在运行时做的事情大致上是对的,但还是存在一些可能或者确定的bug。正如昨天最后提到的,既然现在时间晚了,就不太适合开始调试,所以今天我…...

css块级元素和行内元素区别

在CSS中,元素可以分为两大类:块级元素(Block-level elements)和行内元素(Inline elements)。这两种元素在网页布局中起着不同的作用,主要体现在它们的显示方式、尺寸控制、以及与其他元素的交互…...

JAVA安全—Shiro反序列化DNS利用链CC利用链AES动态调试

前言 讲了FastJson反序列化的原理和利用链,今天讲一下Shiro的反序列化利用,这个也是目前比较热门的。 原生态反序列化 我们先来复习一下原生态的反序列化,之前也是讲过的,打开我们写过的serialization_demo。代码也很简单&…...

什么是信息熵

信息熵 公式 一个离散随机变量 X X X的可能取值为 X x 1 , x 2 , . . . , x n Xx_1,x_2,...,x_n Xx1​,x2​,...,xn​,而对应的概率为 p i p ( X x i ) p_ip(Xx_i) pi​p(Xxi​),如下 x 1 x_1 x1​ x 2 x_2 x2​ x 3 x_3 x3​ x 4 x_4 x4​… x n x_n xn​p( x …...

使用API有效率地管理Dynadot域名,清除某一文件夹中域名的默认DNS设置

关于Dynadot Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮…...

2.11 sqlite3数据库【数据库的相关操作指令、函数】

练习: 将 epoll 服务器 客户端拿来用 客户端:写一个界面,里面有注册登录 服务器:处理注册和登录逻辑,注册的话将注册的账号密码写入数据库,登录的话查询数据库中是否存在账号,并验证密码是否正确…...

当 LSTM 遇上 ARIMA!!

大家好,我是小青 ARIMA 和 LSTM 是两种常用于时间序列预测的模型,各有优劣。 ARIMA 擅长捕捉线性关系,而 LSTM 擅长处理非线性和长时间依赖的关系。将ARIMA 和 LSTM 融合,可以充分发挥它们各自的优势,构建更强大的时…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理&#xff1a…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

【生成模型】视频生成论文调研

工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...