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

Centos9 + Docker 安装 MySQL8.4.0 + 定时备份数据库到本地

Centos9 + Docker 安装 MySQL8.4.0 + 定时备份数据库到本地

      • 创建目录,创建配置文件
      • 启动容器
      • 命令
      • 定时备份
        • MySQL执行脚本
        • Linux每日定时任务
          • 命令
          • 文件内参数
          • 其他时间参数
        • AT一次性定时任务

创建目录,创建配置文件

  • $ mkdir -p /opt/mysql/conf
  • $ vim /opt/mysql/conf/my.cnf
[mysql]
#设置mysql客户端默认字符集
default-character-set=UTF8MB4
[mysqld]
#设置3306端口
port=3306
#允许最大连接数
max_connections=500
#允许连接失败的次数
max_connect_errors=10
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=UTF8MB4
#开启查询缓存
explicit_defaults_for_timestamp=true
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#等待超时时间秒
wait_timeout=600
#交互式连接超时时间秒
interactive-timeout=600

启动容器

$ docker run -d \
-p 25379:3306 \
-v /etc/localtime:/etc/localtime:ro \
-v /opt/mysql/logs:/var/log/mysql \
-v /opt/mysql/data:/var/lib/mysql \
-v /opt/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD="wyj@1234qwer" \
--restart=always \
--privileged=true \
--name mysql \
mysql:8.4.0

命令

#进入容器内
$ docker exec -it mysql bash#外部执行命令
docker exec {容器} {命令}

定时备份

MySQL执行脚本
  • 建目录、建脚本,修改内部参数
  • $ mkdir -p /opt/mysql_backup/sql
  • $ vim /opt/mysql_backup/sql-backup.sh
#!/bin/bashDATE=$(date +%Y%m%d%H%M%S)
CONTAINER_NAME="mysql"
BACKUP_DIR="/opt/mysql_backup/sql"
DATABASE_HOST="127.0.0.1"
#--all-databases
DATABASE_NAME="aaa"
ACCOUNT="root"
PASSWORD="wyj@1234qwer"docker exec $CONTAINER_NAME mysqldump -h $DATABASE_HOST -u $ACCOUNT -p${PASSWORD} $DATABASE_NAME > $BACKUP_DIR/"$DATABASE_NAME"_"$DATE".sql
  • 赋权
$ chmod 777 /opt/mysql_backup/sql-backup.sh
$ docker exec mysql mysqldump -h 127.0.0.1 -u root -p"wyj@1234qwer" aaa > /opt/mysql_backup/aaaa.sql
Linux每日定时任务
命令
  • crontab 一个文件形式保存的定时任务,每天自动执行

  • 每日定时任务,修改文件内容,保存后,到点自动执行

  • 被执行的文件,需要先赋权,具备执行权限

  • 命令

#是否正在运行
$ service crond status#当前用户是否存在crontab文件,如果不存在,crontab -e 直接创建即可
$ crontab -l#直接编辑当前用户crontab 文件
$ crontab -e#删除当前用户的定时任务,不要使用,太危险
$ crontab -r
文件内参数
  • 直接编辑当前用户crontab 文件
  • $ crontab -e
  • 文件内参数
#每天0点1分
1 0 * * * /opt/mysql_backup/sql-backup.sh#每天23.50
30 20 * * * /opt/mysql_backup/sql-backup.sh
其他时间参数
  • 其他时间参数
#文件格式
#文件格式:分钟 小时 日 月 星期 {命令}
#时间取值:分钟(0-59) 、小时(0-23) 、日(1-31)、 月(1-12) 、星期(0-7,0和7都是星期日)
#特殊符号取值:*:表示任何时间。,:用于分隔多个值,例如 1,3,5 表示分钟的第 1、3、5 分钟。-:表示一个范围,例如 1-5 表示从第 1 分到第 5 分。/:表示步长,例如 */5 表示每 5 分钟执行一次。#每1分钟执行一次
* * * * * echo "时间:  $(date '+\%Y-\%m-\%d \%H:\%M:\%S')" >> /opt/test.txt#周六和周日 12:30
30 12 * * 6-7 echo "时间:  $(date '+\%Y-\%m-\%d \%H:\%M:\%S')" >> /opt/test.txt#每天12.31-12.59 每分钟一次
31-59 12 * * * echo "时间:  $(date '+\%Y-\%m-\%d \%H:\%M:\%S')" >> /opt/test.txt#周六和周日,每隔五分钟,就进行一次
*/5 12 * * 6-7 echo "时间:  $(date '+\%Y-\%m-\%d \%H:\%M:\%S')" >> /opt/test.txt
AT一次性定时任务
  • At命令是一次性定时计划任务,必须确保守护进程已经启动
  • 默认情况下,atd守护进程每60秒检查作业队列,执行完一个任务后不再执行此任务了。
#检查是否启动
$ ps -ef | grep atd#安装定时任务,开机自启
$ dnf -y install at
$ sudo systemctl start atd
$ sudo systemctl enable atd
$ sudo systemctl status atd#授权
$ chmod 777 /opt/mysql_backup/sql-backup.sh#指定执行文件和时间
$ echo "/opt/mysql_backup/sql-backup.sh" | at 12:55 2025-01-12#查询定时任务,已经执行过的任务,自动消失
$ at -l#删除定时任务
$ at -d {序号} 
  • 上述内容,是实操过程中的笔记内容,如果对您有所帮助,给个赞鼓励一下,谢谢~

相关文章:

Centos9 + Docker 安装 MySQL8.4.0 + 定时备份数据库到本地

Centos9 Docker 安装 MySQL8.4.0 定时备份数据库到本地 创建目录,创建配置文件启动容器命令定时备份MySQL执行脚本Linux每日定时任务命令文件内参数其他时间参数 AT一次性定时任务 创建目录,创建配置文件 $ mkdir -p /opt/mysql/conf$ vim /opt/mysql/…...

网络原理一>UDP协议详解

UDP和TCP都是应用层中的重要协议,如果做基础架构开发,会用得多一些。 这一篇我们先简单聊一下的UDP TCP格式呈现: 我们知道UDP是一种无连接,面向数据报,全双工,不可靠传输特性的网络协议。 基本格式如图…...

MySQL的小问题

编码问题 不管官方使用什么编码:latin1、gbk、utf8、utfmb4。统一使用utfmb4 MySQL中的utf8并不是utf-8,它省略了一个字节,只是用三个字节存储所有的符号,utfmb4才是utf-8 远程登录问题: MySQL官方默认没有启动远程…...

Mac——Docker desktop安装与使用教程

摘要 本文是一篇关于Mac系统下Docker Desktop安装与使用教程的博文。首先介绍连接WiFi网络,然后详细阐述了如何在Mac上安装Docker,包括下载地址以及不同芯片版本的选择。接着讲解了如何下载基础镜像和指定版本镜像,旨在帮助用户在Mac上高效使…...

FastApi Swagger 序列化问题

问题 错误现象: fastapi的 swagger 界面无法正常打开控制台报错:raise PydanticInvalidForJsonSchema(fCannot generate a JsonSchema for {error_info}) 详细报错: File "d:\Envs\miniconda3\envs\xdagent\lib\site-packages\pydan…...

《机器学习》——sklearn库中CountVectorizer方法(词频矩阵)

CountVectorizer方法介绍 CountVectorizer 是 scikit-learn 库中的一个工具,它主要用于将文本数据转换为词频矩阵,而不是传统意义上的词向量转换,但可以作为词向量转换的一种基础形式。用于将文本数据转换为词频矩阵,它是文本特征…...

UML系列之Rational Rose笔记三:活动图(泳道图)

一、新建活动图(泳道图) 依旧在用例视图里面,新建一个activity diagram;新建好之后,就可以绘制活动图了: 正常每个活动需要一个开始,点击黑点,然后在图中某个位置安放,接…...

Java面向对象面经总结

目录 面向对象基础 面向对象与面向过程的区别 创建一个对象用什么运算符,对象实体与对象引用的区别 对象相等和引用相等的区别 构造方法的特点,是否可被重写? 面向对象三大特征 封装 继承 多态 接口和抽象类的共同点和区别 深拷贝…...

红队工具使用全解析:揭开网络安全神秘面纱一角

红队工具使用全解析:揭开网络安全神秘面纱一角 B站红队公益课:https://space.bilibili.com/350329294 学习网盘资源链接:https://pan.quark.cn/s/4079487939e8 嘿,各位网络安全爱好者们!在风云变幻的网络安全战场上&am…...

OpenLinkSaas 2025年第一季度开发计划

OpenLinkSaas在2025的发展方向是强化基础设施和研发协作,弱化管理相关的功能。 为了根据参与到软件研发的整个流程,OpenLinkSaas会增加一系列的基础设施项目,并和OpenLinksaas进行深度整合。 目前计划中的基础设施: 链路追踪系统(OpenDragonF…...

【python小工具】怎么获取视频的关键帧频率?

使用 FFmpeg 提取 MP4 视频的关键帧并计算关键帧频率可以按以下步骤进行: 提取关键帧: 使用 FFmpeg 提取视频中的关键帧可以通过以下命令实现: ffmpeg -i input.mp4 -vf "selecteq(pict_type,I)" -vsync vfr keyframes_%03d.jpg…...

数字孪生可视化在各个行业的应用场景

数字孪生技术,作为新一代信息技术的集大成者,正在深刻改变着我们对物理世界的认知和管理方式。本文将探讨数字孪生可视化在不同行业的应用场景,以及它们如何赋能行业数字化转型。 1. 智慧城市与交通 在智慧城市领域,数字孪生技术…...

Python实现windows自动关机

python <shut.py> import ntplib from datetime import datetime, timezoneimport time import osimport easygui# net time def get_network_time():time.sleep(3)"""从网络时间服务器获取时间"""client ntplib.NTPClient()response c…...

Go可以使用设计模式,但绝不是《设计模式》中的那样

文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons&#xff1a;JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram&#xff0c;自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 &#xff1f; 5 IDEA必装的插件&…...

【C语言】_使用冒泡排序模拟实现qsort函数

目录 1. 排序函数的参数 2. 排序函数函数体 2.1 比较元素的表示 2.2 交换函数Swap的实现 2.3 排序函数bubble_sort的实现 3. 测试整型数据排序 3.1 整型数据比较函数cmp_int的实现 3.2 整型数据排序后输出函数print_int的实现 3.3 整型数据测试函数test_int的实现 3…...

openCvSharp 计算机视觉图片找茬

一、安装包 <PackageReference Include"OpenCvSharp4" Version"4.10.0.20241108" /> <PackageReference Include"OpenCvSharp4.runtime.win" Version"4.10.0.20241108" /> 二、准备两张图片 三、编写代码 using OpenCv…...

从零开始开发纯血鸿蒙应用之处理外部文件

从零开始开发纯血鸿蒙应用 一、外部文件二、外部文件的访问形式1、主动访问2、被动访问 三、代码实现1、DocumentViewPicker2、Ability Skills3、onNewWant 函数4、冷启动时处理外部文件 一、外部文件 对于移动端app来说&#xff0c;什么是外部文件呢&#xff1f;是那些存储在…...

Spring中三级缓存详细讲解

1、Spring三级缓存是什么&#xff0c;过程是怎么样的&#xff1f; Spring 中的三级缓存主要用于单例 Bean 的生命周期管理&#xff0c;特别是在循环依赖时&#xff0c;它通过不同阶段暴露 Bean 实例来确保依赖注入的顺利完成。缓存的内容如下&#xff1a; 一级缓存 (singleton…...

论文阅读:《Whole-animal connectomes of both Caenorhabditis elegans sexes》

一 论文整体概述 论文下载链接&#xff1a;《Whole-animal connectomes of both Caenorhabditis elegans sexes》 补充信息和额外数据&#xff1a;https://www.nature.com/articles/s41586-019-1352-7 1. 作者期刊背景 该论文由Scott W. Emmons&#xff0c;David H. Hall等…...

嵌入式开发之STM32学习笔记day03

STM32之ADC&#xff08;模拟数字转换器&#xff09; 1 ADC简述2 ADC转换时间3 ADC转化结果存放机制4 ADC转化结果存放机制5 ADC电压转换 1 ADC简述 ADC&#xff08;Analog-Digital Converter&#xff09;模拟—数字转换器&#xff1b;ADC可以将引脚上连续变化的模拟电压转换为…...

手把手教你用Docker一键部署encrypt-labs靶场(附国内镜像加速配置)

零基础实战&#xff1a;Docker快速部署encrypt-labs靶场全攻略 在网络安全学习过程中&#xff0c;靶场环境是必不可少的实践平台。encrypt-labs作为一个开源的网络安全实验环境&#xff0c;包含了从基础到进阶的各种加密与解密挑战。本文将带你从零开始&#xff0c;用Docker快速…...

Linux平台微信小程序开发终极指南:免费搭建完整开发环境

Linux平台微信小程序开发终极指南&#xff1a;免费搭建完整开发环境 【免费下载链接】wechat-web-devtools-linux 适用于微信小程序的微信开发者工具 Linux移植版 项目地址: https://gitcode.com/gh_mirrors/we/wechat-web-devtools-linux 在Linux系统上进行微信小程序开…...

别再让广播闪退!Android 14广播安全新规RECEIVER_EXPORTED的保姆级避坑指南

Android 14广播安全新规&#xff1a;RECEIVER_EXPORTED的深度解析与实战指南 去年秋天&#xff0c;当Google正式发布Android 14时&#xff0c;许多开发者发现原本运行良好的广播注册代码突然开始抛出SecurityException。这个看似简单的API变更背后&#xff0c;其实是Android团队…...

CN3881-规格书 如韵电子 10A 降压型同步单节锂电池充电管理集成电路

概述: CN3881 是一款可使用太阳能供电的 PWM 降压模式单节锂电池充电管理集成电路&#xff0c;可独立对单 节锂电池充电进行管理&#xff0c;具有封装外形小&#xff0c;外围元器件少和使用简单等优点。 CN3881 采用涓流&#xff0c;恒流和恒压充电模式&#xff0c;非常适合单节…...

ViPER4Windows-Patcher 音效修复工具:让无损音质在Windows 10/11完美呈现

ViPER4Windows-Patcher 音效修复工具&#xff1a;让无损音质在Windows 10/11完美呈现 【免费下载链接】ViPER4Windows-Patcher Patches for fix ViPER4Windows issues on Windows-10/11. 项目地址: https://gitcode.com/gh_mirrors/vi/ViPER4Windows-Patcher &#x1f3…...

translategemma-27b-it部署案例:个人开发者用RTX4060实现本地化翻译服务

translategemma-27b-it部署案例&#xff1a;个人开发者用RTX4060实现本地化翻译服务 1. 为什么这个模型值得你花10分钟试试&#xff1f; 你有没有过这样的时刻&#xff1a; 看到一篇技术文档的截图&#xff0c;但图片里的中文说明没法直接复制翻译&#xff1b;收到朋友发来的…...

Meshroom终极指南:零基础学会开源3D重建,从照片到模型的完整方案

Meshroom终极指南&#xff1a;零基础学会开源3D重建&#xff0c;从照片到模型的完整方案 【免费下载链接】Meshroom Node-based Visual Programming Toolbox 项目地址: https://gitcode.com/gh_mirrors/me/Meshroom 想要从普通照片创建专业级3D模型吗&#xff1f;Meshro…...

ClearerVoice-Studio语音分离实用技巧:分离后各声道说话人身份标注方法

ClearerVoice-Studio语音分离实用技巧&#xff1a;分离后各声道说话人身份标注方法 你是不是也遇到过这种情况&#xff1f;用语音分离工具把一段多人对话音频分成了几个独立的声道&#xff0c;结果看着一堆命名为“output_1.wav”、“output_2.wav”的文件&#xff0c;完全搞不…...

如何实现固定翼无人机编队飞行?PX4开源方案深度解析与实践指南

如何实现固定翼无人机编队飞行&#xff1f;PX4开源方案深度解析与实践指南 【免费下载链接】PX4-Autopilot PX4 Autopilot Software 项目地址: https://gitcode.com/gh_mirrors/px/PX4-Autopilot 多无人机编队飞行技术正从实验室走向实际应用&#xff0c;在测绘、农业、…...

Android 11+ 适配实战:破解TextToSpeech ‘speak failed: not bound to TTS engine‘ 的权限与引擎绑定之谜

1. 当语音突然沉默&#xff1a;Android 11的TTS报错之谜 那天我正在调试一个天气预报应用&#xff0c;当代码执行到语音播报"今天晴转多云"时&#xff0c;控制台突然抛出红字警告&#xff1a;speak failed: not bound to TTS engine。这个错误在Android 10及以下版本…...