在CentOS 7 64位 Docker容器里面部署mysql数据库定时备份和还原步骤

备份

案例:在CentOS 7系统内的Docker容器中设置一个定时任务,每周五备份MySQL数据库,可以通过以下步骤实现:

1、创建备份脚本

首先,编写一个备份脚本来执行MySQL数据库的备份操作。假设你将这个脚本命名为backup.sh

#!/bin/bash

# MySQL credentials
USER="your_mysql_user"
PASSWORD="your_mysql_password"
DATABASE="your_database_name"
BACKUP_DIR="/path/to/backup/dir"

# Create backup filename with timestamp
BACKUP_FILE="$BACKUP_DIR/$DATABASE-$(date +\%Y-\%m-\%d).sql"

# Run the MySQL dump command to create the backup
docker exec your_mysql_container_name mysqldump -u$USER -p$PASSWORD $DATABASE > $BACKUP_FILE

# Optional: Remove backups older than 30 days
find $BACKUP_DIR -type f -name "*.sql" -mtime +30 -exec rm {} \;

确保你将脚本中的
your_mysql_user
your_mysql_password
your_database_name
/path/to/backup/dir

your_mysql_container_name
替换为实际的值。

2、赋予脚本执行权限

把脚本放到一个合适的位置,比如/usr/local/bin/backup.sh,并给它执行权限:

chmod +x /usr/local/bin/backup.sh

3、配置Cron作业

打开crontab编辑器:

crontab -e

添加以下行来设置每周五运行备份脚本:

0 2 * * 5 /usr/local/bin/backup.sh

这条crontab配置表示每周五凌晨2点执行备份脚本。

4、检查Cron服务

启动cron服务,确保正在运行:

systemctl start crond        //启动服务
systemctl enable crond    //开机自启动
systemctl status crond     //查看服务状态
systemctl stop crond       //停止服务
systemctl disable crond   //禁用服务
 

5、测试脚本

手动运行脚本以确保它工作正常:

/usr/local/bin/backup.sh

以上步骤应该可以在CentOS 7系统中,通过Docker运行的MySQL容器中设置每周五备份数据库的定时任务。

还原

还原MySQL数据库的步骤与备份的过程相反,需要将备份文件导入到MySQL数据库中。以下是详细的步骤:

1、准备还原脚本

编写一个还原脚本来执行MySQL数据库的还原操作。假设你将这个脚本命名为restore.sh

#!/bin/bash

# MySQL credentials
USER="your_mysql_user"
PASSWORD="your_mysql_password"
DATABASE="your_database_name"
BACKUP_FILE="/path/to/backup/file.sql"

# Restore the backup using the MySQL command
docker exec -i your_mysql_container_name mysql -u$USER -p$PASSWORD $DATABASE < $BACKUP_FILE

确保你将脚本中的
your_mysql_user
your_mysql_password
your_database_name
/path/to/backup/file.sql

your_mysql_container_name
替换为实际的值。

2、赋予脚本执行权限

把脚本放到一个合适的位置,比如/usr/local/bin/restore.sh,并给它执行权限:

chmod +x /usr/local/bin/restore.sh

3、手动运行还原脚本

手动运行脚本以进行还原:

/usr/local/bin/restore.sh

4、直接通过命令行还原

如果你不想使用脚本,也可以直接通过命令行进行还原。假设你的备份文件位于/path/to/backup/file.sql

cat /path/to/backup/file.sql | docker exec -i your_mysql_container_name mysql -u your_mysql_user -p your_mysql_password your_database_name

示例

假设你的MySQL容器名称为mysql_container,MySQL用户名为root,密码为password,数据库名称为mydatabase,备份文件路径为/backups/mydatabase-2024-06-25.sql

1、还原脚本restore.sh的内容:

#!/bin/bash

# MySQL credentials
USER="root"
PASSWORD="password"
DATABASE="mydatabase"
BACKUP_FILE="/backups/mydatabase-2024-06-25.sql"

# Restore the backup using the MySQL command
docker exec -i mysql_container mysql -u$USER -p$PASSWORD $DATABASE < $BACKUP_FILE

2、赋予脚本执行权限并运行:

chmod +x /usr/local/bin/restore.sh /usr/local/bin/restore.sh

3、或直接通过命令行还原:

cat /backups/mydatabase-2024-06-25.sql | docker exec -i mysql_container mysql -u root -p password mydatabase

通过这些步骤,你应该能够成功地还原MySQL数据库。确保在执行还原操作之前备份当前数据库,以防出现问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/37569.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在vs上远程连接Linux写服务器项目并启动后,可以看到服务启动了,但是通过浏览器访问该服务提示找不到页面

应该是被防火墙挡住了&#xff0c;查看这个如何检查linux服务器被防火墙挡住 • Worktile社区 和这个关于Linux下Nginx服务启动&#xff0c;通过浏览器无法访问的问题_linux无法访问nginx-CSDN博客 的提示之后&#xff0c;知道防火墙开了&#xff0c;想着可能是我写的服务器的…

【R语言】plot输出窗口大小的控制

如果需要输出png格式的图片并设置dpi&#xff0c;可采用以下代码 png("A1.png",width 10.09, height 10.35, units "in",res 300) 为了匹配对应的窗口大小&#xff0c;在输出的时候保持宽度和高度一致即可&#xff0c;步骤如下&#xff1a; 如上的“10…

Ubuntu Docker 安装

curl -fsSL https://test.docker.com -o test-docker.sh sudo sh test-docker.sh Ubuntu Docker 安装 | 菜鸟教程

kali Linux基本命令(超全)_kali linux命令

一、系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件- (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpu…

python opencv 持续点选开始帧,结束帧,切割视频成几个小段

import osimport cv2 import timedef on_mouse(event,x,y, flag, para):global status_value, start_frame, end_frame, timesif event cv2.EVENT_LBUTTONDOWN: # 鼠标左键点击times 1status_value not status_valueif status_value:start_frame frame_number# print(f&qu…

泽众云真机-平台华为机型HarmonyOS NEXT系统已上线!

泽众云真机平台华为机型HarmonyOS NEXT系统已上线&#xff01; 之前文章《泽众云真机-平台即将升级支持华为机型HarmonyOS NEXT系统泽众云真机-平台即将升级支持华为机型HarmonyOS NEXT系统》&#xff0c;为什么要升级HarmonyOS NEXT系统&#xff1f;我们之前有说过&#xff0c…

C语言pow函数简单介绍

目录 开头什么是pow函数pow函数本身和正常返回值pow函数本身pow函数的返回值 pow函数的实际运用求6^8的值程序输出 求3^‎‏ 3^3的值程序输出 求11.4^5.14的值程序输出 结尾 开头 大家好&#xff0c;我叫这是我58&#xff0c;在这篇博客中&#xff0c;我将会介绍C语言里的pow…

OSI 网络模型

OSI 模型 开放式系统互联模型&#xff08;英语&#xff1a;Open System Interconnection Model&#xff0c;缩写&#xff1a;OSI&#xff1b;简称为OSI模型&#xff09;是一种概念模型&#xff0c;由国际标准化组织&#xff08;ISO&#xff09;提出&#xff0c;一个试图使各种…

第7章_低成本 Modbus 传感器的实现

文章目录 第7章 低成本 Modbus 传感器的实现7.1 硬件资源介绍与接线7.2 开发环境搭建7.3 创建与体验第 1 个工程7.3.1 创建工程7.3.2 配置调试器7.3.3 配置 GPIO 操作 LED 7.4 UART 编程7.4.1 使用 STM32CubeMX 进行配置1.UART12.配置 RS485方向引脚 7.4.2 封装 UART7.4.3 上机…

实现写入缓存策略的最佳方法探讨

实现写入缓存策略的最佳方法探讨 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将探讨在软件开发中实现写入缓存策略的最佳方法。缓存在提升应用性能和…

计算机的错误计算(十五)

摘要 介绍历史上由于计算精度问题引起的灾难或事件。 今天换个话题&#xff0c;说说历史上曾经发生过的一些事件。 1961 年 , 美国麻省理工学院气象学家洛伦兹在仿真天气预报时 , 将 0.506127 舍入到 0.506 , 所得计算结果大相径庭 ! 这种“差之毫厘 , 谬以千里”的现象…

第十一节:学习通过动态调用application.properties参数配置实体类(自学Spring boot 3.x的第二天)

大家好&#xff0c;我是网创有方。这节实现的效果是通过代码灵活地调用application.properties实现配置类参数赋值。 第一步&#xff1a;编写配置类 package cn.wcyf.wcai.config;import org.springframework.beans.factory.annotation.Value; import org.springframework.boo…

深入探索:WebKit中Flexbox布局的全面支持与实践

标题&#xff1a;深入探索&#xff1a;WebKit中Flexbox布局的全面支持与实践 摘要 Flexbox布局是CSS3的一部分&#xff0c;提供了一种更加强大和灵活的方式来布局、对齐和分配容器内项目的空间&#xff0c;即使它们的大小未知或是动态变化的。WebKit作为Safari浏览器的渲染引…

11. Revit API UI 补充

11. Revit API UI 补充 UI篇我也只写了主要的&#xff0c;部分关联的没有写。 以前发的又不想去改&#xff0c;这里就做一些补充吧。 一、可停靠窗口补充 在可停靠窗口那篇&#xff0c;提到要实现IDockablePageProvider接口&#xff0c;就略过了。 该接口要求实现一个方法。…

苏东坡传-读书笔记四

长江三峡&#xff0c;无人不知其风光壮丽&#xff0c;但对旅客而言&#xff0c;则是险象环生。此段江流全长二百二十余里&#xff0c;急流旋涡在悬崖峭壁之间滚转出入&#xff0c;水下暗石隐伏&#xff0c;无由得见&#xff0c;船夫要极其敏捷熟练&#xff0c;才可通行。三峡之…

每日算法-二分查找

适用场景 适用于有序数组中查找某一个值. 每查找一次,就将搜寻范围缩小一半, 平均时间复杂度是O(logN), 简记作:O(lgN). 主要难点 主要难点在于边界条件的判断&#xff1b; 大致思路: 1.当供查找的数组不合法时,直接返回结果,查询无果; 2.当数组长度等于1时,直接判断是否…

AI生成音乐——创作的革命与未来的思考

AI在创造还是毁掉音乐&#xff1f; 最近一个月&#xff0c;音乐大模型的轮番上线&#xff0c;迅速降低了素人生产音乐的门槛&#xff0c;并引发了关于音乐圈是否会被AI彻底颠覆的热议。短暂的兴奋过后&#xff0c;更多理性的目光开始审视AI产品的版权归属、创意产业在AI阴影下…

Redis 7.x 系列【6】数据类型之字符串(String)

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Redis 版本 7.2.5 源码地址&#xff1a;https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 前言2. 常用命令2.1 SET2.2 GET2.3 MSET2.4 MGET2.5 GETSET2.6 STRLEN2.7 SETEX2.8…

全方位对比PostgreSQL和MySQL

目录 引言 技术架构与设计哲学 起源与发展 数据库引擎 PostgreSQL与MySQL&#xff1a;SQL语法与特性对比概览 PostgreSQL与MySQL高级特性对比&#xff1a;数据类型与事务处理能力 数据类型与功能特性 PostgreSQL与MySQL性能与可扩展性对比 PostgreSQL与MySQL性能与可扩…

南昌高校大学智能制造实验室数字孪生可视化系统平台建设项目验收

南昌高校大学智能制造实验室&#xff0c;作为该地区乃至全国智能制造领域的重要研究和教学基地&#xff0c;一直致力于探索和创新智能制造技术。近日&#xff0c;该实验室的数字孪生可视化系统平台建设项目成功通过了验收&#xff0c;标志着其在数字孪生技术领域取得了重大突破…