mysql 每日自动备份数据库
在 MySQL 中,你可以使用定时任务来每日自动备份数据库。通常,最常用的方法是使用操作系统的定时任务工具(如cron)来调度备份操作。以下是一些步骤来设置每日定时备份MySQL数据库:
-
创建备份脚本:首先,创建一个备份脚本,该脚本将执行MySQL备份操作。你可以使用mysqldump命令来执行备份。以下是一个简单的备份脚本示例(假设你已经设置了MySQL用户名和密码的环境变量):
#!/bin/bash# 定义 MySQL 用户名和密码 MYSQL_USER="your_username" MYSQL_PASSWORD="your_password"# 定义备份目录和文件名 backup_dir="/path/to/backup/directory" backup_file="$backup_dir/backup-$(date +\%Y\%m\%d).sql"# 使用 mysqldump 备份数据库 mysqldump --user=$MYSQL_USER --password=$MYSQL_PASSWORD --all-databases > $backup_file# 压缩备份文件 gzip $backup_file在这种情况下,你需要将 your_username 和 your_password 替换为实际的 MySQL 用户名和密码,并确保脚本文件中的用户名和密码是安全的(不要将它们硬编码在脚本中,或者确保脚本文件有适当的权限来保护这些敏感信息)。
无论你选择哪种方式,都要确保用户名和密码的安全性,以防止未经授权的访问。
-
设置脚本权限:在终端中运行以下命令,以确保备份脚本具有执行权限:
chmod +x your_backup_script.sh -
设置定时任务:使用操作系统的定时任务工具来创建一个每日备份任务。对于Linux系统,通常使用cron来实现。运行以下命令来编辑当前用户的cron表:
crontab -e然后,添加以下行来每天执行备份脚本(假设备份脚本叫做your_backup_script.sh,并且每天备份在凌晨2点进行):
0 2 * * * /path/to/your_backup_script.sh -
保存并退出:保存cron表达式的修改并退出编辑器。
现在,你已经设置了一个每日定时任务,它会在指定时间自动运行备份脚本,将MySQL数据库备份到指定目录。确保定期检查备份文件,以确保备份正在按计划运行并且没有问题。
注意:mysqldump 命令中的 --user 和 --password 参数只需要提供数据库的用户名和密码,而不需要指定数据库的地址。这是因为在大多数情况下,mysqldump 命令会默认连接到本地 MySQL 服务器(即 localhost)。
如果你的 MySQL 数据库位于不同的主机上,或者你希望备份不同主机上的数据库,那么你需要通过 --host 参数来指定数据库的地址。例如:
mysqldump --host=your_database_host --user=your_username --password=your_password --all-databases > $backup_file
又或者你的端口不是默认的3306,可以通过–port来制定端口。例如:
mysqldump --host=your_database_host --port=your_database_port --user=your_username --password=your_password --all-databases > $backup_file
完整脚本如下:
#!/bin/bash# MySQL数据库连接参数
DB_HOST="your_database_host"
DB_PORT="your_database_port"
DB_USER="your_username"
DB_PASSWORD="your_password"# 备份目录和文件名
backup_dir="/path/to/backup/directory"
backup_file="$backup_dir/backup-$(date +\%Y\%m\%d).sql"# 使用mysqldump备份数据库
mysqldump --host=$DB_HOST --port=$DB_PORT --user=$DB_USER --password=$DB_PASSWORD --all-databases > $backup_file# 检查备份是否成功
if [ $? -eq 0 ]; thenecho "数据库备份成功,文件保存在: $backup_file"
elseecho "数据库备份失败"
fi# 可选:压缩备份文件
gzip $backup_file
但还有种情况,如果你的 MySQL 服务器是运行在 Docker 容器中,备份操作会有一些差异。你需要在 Docker 环境中执行备份命令,以确保能够连接到容器内的 MySQL 服务器。以下是在 Docker 中备份 MySQL 数据库的一般步骤:
-
查找 MySQL 容器的名称或 ID:首先,你需要查找正在运行的 MySQL 容器的名称或 ID。你可以使用以下命令来列出正在运行的容器并查找 MySQL 容器:
docker ps查找包含 MySQL 服务的容器并记下其名称或 ID。
-
执行备份操作:使用以下命令在 MySQL 容器中执行备份操作。假设容器名称为 mysql-container:
docker exec mysql-container mysqldump -u your_username -pYourPassword --all-databases > /path/to/backup/directory/backup-$(date +\%Y\%m\%d).sql
完整脚本如下:
#!/bin/bash# 定义MySQL容器名称或ID
MYSQL_CONTAINER="mysql-container"# 定义MySQL数据库连接参数
MYSQL_USER="your_username"
MYSQL_PASSWORD="YourPassword"
MYSQL_HOST="localhost" # 如果MySQL容器在同一主机上,可以使用localhost# 定义备份目录
BACKUP_DIR="/path/to/backup/directory"# 获取当前日期作为备份文件名的一部分
CURRENT_DATE=$(date +\%Y\%m\%d)# 要备份的数据库列表,用空格分隔
DATABASES="database1 database2 database3"# 创建备份目录
mkdir -p $BACKUP_DIR# 循环备份每个数据库
for DB_NAME in $DATABASES
do# 生成备份文件名BACKUP_FILE="$BACKUP_DIR/${DB_NAME}_${CURRENT_DATE}.sql"# 使用mysqldump备份数据库到指定文件docker exec $MYSQL_CONTAINER mysqldump -h $MYSQL_HOST -u $MYSQL_USER -p$MYSQL_PASSWORD $DB_NAME > $BACKUP_FILE# 检查备份是否成功if [ $? -eq 0 ]; thenecho "数据库 $DB_NAME 备份成功,文件保存在: $BACKUP_FILE"# 压缩备份文件为ZIP格式zip "$BACKUP_FILE.zip" $BACKUP_FILErm $BACKUP_FILE # 删除原始SQL备份文件echo "备份文件已压缩为 $BACKUP_FILE.zip"elseecho "数据库 $DB_NAME 备份失败"fi
done
注意机器上有没有安装zip命令,没有的话需要安装下
yum install zip
大致步骤就这些,可能运行的时候会报mysqldump 访问权限不足,或者用户操作数据库的权限不足等问题,这个自行解决哈
相关文章:
mysql 每日自动备份数据库
在 MySQL 中,你可以使用定时任务来每日自动备份数据库。通常,最常用的方法是使用操作系统的定时任务工具(如cron)来调度备份操作。以下是一些步骤来设置每日定时备份MySQL数据库: 创建备份脚本:首先&#x…...
【计算机网络】图解路由器(二)
本系列包含: 图解路由器(一)图解路由器(二) 图解路由器(二) 21、什么是静态路由?22、什么是动态路由?23、动态路由有哪些类型?24、什么是 RIP ?2…...
流媒体及直播相关知识
文章目录 前言一、流媒体1、基本概念2、流式传输3、流媒体技术原理4、流媒体传输模式5、H.264 流媒体传输系统框架 二、直播1、直播中使用的流媒体协议2、直播的模块划分3、视频直播流程①、推流到服务器②、服务器流分发 前言 本文主要讲解流媒体及其直播相关知识,…...
数据治理-数据资产估值
数据生命周期大多数阶段涉及成本。数据只有使用时才有价值,使用时数据还产生与风险相关的成本。因此,当使用数据的经济效益超过了上述成本时,就会显现其价值。 其他的度量价值的方式包括: 替换成本。数据替换或恢复的成本。包括组…...
点云从入门到精通技术详解100篇-机载 LiDAR 点云滤波及分类
目录 前言 国内外研究现状 点云滤波研究现状 点云分类研究现状...
【SLAM】 前端-视觉里程计之相对位姿估计
【SLAM】 前端-视觉里程计之相对位姿估计 1.相对位姿估计 在前端视觉里程计中,相对位姿估计是指通过视觉传感器(例如相机)捕捉的图像信息,来估计相机相对于先前位置的位姿(位置和姿态)变化。这种估计通常…...
git format-patch打补丁
git format-patch HEAD^ 这个命令会产生从倒数第二个提交 HEAD^ 到最后提交 HEAD 之间所有提交的差异,并生成一个包含这些差异的补丁文件。这是一个包含详细步骤的例子: 第一步,创建一个新的 git 仓库并进行一些提交。这些提交是我们稍后会生…...
大数据Flink(八十三):SQL语法的DML:With、SELECT WHERE、SELECT DISTINCT 子句
文章目录 SQL语法的DML:With、SELECT & WHERE、SELECT DISTINCT 子句 一、DML:With 子句...
C++:list
目录 List的模拟实现 List节点类 List链表结构 List迭代器类 结构 T& operator*(); T& operator->(); Self& operator(); Self operator(int); Self& operator--(); Self& operator--(int); bool operator!(const Self& l); bool oper…...
【C++】搜索二叉树底层实现
目录 一,概念 二,实现分析 1. 插入 (1.)非递归版本 (2.)递归版本 2. 打印搜索二叉树 3.查找函数 (1.)非递归版本 (2.)递归版本 4. 删除函数&#x…...
C8051F020 SMBus一直处于busy状态解决办法
当SMBus总线处于busy状态切且无法自动释放时,SMB0CN寄存器的第7位一直为 1,总线没有释放。 SMBus总线释放超时的一个纠错机制,它允许SMBus状态机在 SDA 和 SCL 信号线同为高电平超过 10个SMBus时钟源周期后判断总线为释放状态。 如果总线释放…...
Activiz 9.2 for Linux Crack
Activiz 9.2 在 C#、.Net 和 Unity 软件中为您的 3D 内容释放可视化工具包的强大功能。 ActiViz 允许您轻松地将 3D 可视化集成到您的应用程序中。 ActiViz 功能 用 C# 封装的 3D 可视化软件系统 允许在 .NET 环境中快速开发可投入生产的交互式3D 应用程序 支持窗口演示基础 (…...
数据结构 - 链表
线性表的链式存储结构 概念 将线性表 L (a0, a1, … , an-1)中各元素分布在存储器的不同存储块,成为结点,通过地址或指针建立元素之间的联系。 结点的 data 域存放数据元素 ai ,而 next 域是一个指针,指向 ai 的直接后继 ai1 …...
Android 12 Bluetooth源码分析蓝牙配对
本文主要是列出一些蓝牙配对重要的类和方法/函数,遇到相关问题时方便查找添加log排查。 蓝牙扫描列表页面:packages/apps/Settings/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.java点击其中一个设备会调用:onPrefere…...
Python异步编程并发执行爬虫任务,用回调函数解析响应
一、问题:当发送API请求,读写数据库任务较重时,程序运行效率急剧下降。 异步技术是Python编程中对提升性能非常重要的一项技术。在实际应用,经常面临对外发送网络请求,调用外部接口,或者不断更新数据库或文…...
React组件化开发
1.组件的定义方式 函数组件Functional Component类组件Class Component 2.类组件 export class Profile extends Component {render() {console.log(this.context);return (<div>Profile</div>)} } 组件的名称是大写字符开头(无论类组件还是函数组件…...
LuatOS-SOC接口文档(air780E)--crypto - 加解密和hash函数
crypto.md5(str) 计算md5值 参数 传入值类型 解释 string 需要计算的字符串 返回值 返回值类型 解释 string 计算得出的md5值的hex字符串 例子 -- 计算字符串"abc"的md5 log.info("md5", crypto.md5("abc"))crypto.hmac_md5(str, k…...
自动化测试的定位及一些思考
大家对自动化的理解,首先是想到Web UI自动化,这就为什么我一说自动化,公司一般就会有很多人反对,因为自动化的成本实在太高了,其实自动化是分为三个层面的(UI层自动化、接口自动化、单元测试)&a…...
展会动态 | 迪捷软件邀您参加2023世界智能网联汽车大会
*9月18日之前注册的观众免收门票费* 由北京市人民政府、工业和信息化部、公安部、交通运输部和中国科学技术协会联合主办的2023世界智能网联汽车大会将于9月21日-24日在北京中国国际展览中心(顺义馆)举行。 论坛背景 本届展会以“聚智成势 协同向新——…...
jenkins自动化部署springboot、gitee项目
服务器需要安装jdk11、maven、gitee 1. jenkins安装 # yum源 sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo # 公钥 sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io-2023.key # 安装 yum install jenkins如果yum源报…...
MacOS Telegram语音实时转译:本地化音频捕获与离线语音识别实践
1. 项目概述:一个为MacOS打造的Telegram语音实时转译工具如果你和我一样,经常在Telegram上参与多语言群组讨论,或者需要处理来自不同地区的语音消息,那么语言障碍绝对是一个头疼的问题。想象一下,你收到一条长达一分钟…...
Sora 2 + Premiere = 新一代“AI剪辑OS”?深度拆解其MediaCore架构、Timeline Graph API及动态权重调度算法
更多请点击: https://intelliparadigm.com 第一章:Sora 2 Premiere 新一代“AI剪辑OS”?概念演进与范式重构 传统视频编辑正经历一场静默但深刻的底层迁移——当 Sora 2 的原生时空建模能力与 Adobe Premiere Pro 的专业时间线引擎深度耦合…...
为什么92%的开发者首次调用PlayAI翻译API会触发token溢出?3步诊断清单+4类典型错误码速查表
更多请点击: https://intelliparadigm.com 第一章:PlayAI多语种同步翻译功能详解 PlayAI 的多语种同步翻译功能基于端到端神经机器翻译(NMT)架构,支持实时语音流输入与毫秒级文本输出,覆盖中、英、日、韩…...
手机上的Linux:用Termux 0.118.0打造Python 3.10.4爬虫环境,实测下载‘拷贝漫画’全流程
在安卓手机上构建Python爬虫环境:Termux实战指南 你是否遇到过这样的场景:在地铁上突然想到一个绝妙的爬虫点子,但手边只有一部手机?或者想在平板上直接下载漫画却苦于没有合适的工具?Termux正是解决这些痛点的神器。这…...
如何快速掌握音频频谱分析:Spek开源工具完整指南
如何快速掌握音频频谱分析:Spek开源工具完整指南 【免费下载链接】spek Acoustic spectrum analyser 项目地址: https://gitcode.com/gh_mirrors/sp/spek 想要深入了解音频文件的内部结构吗?Spek音频频谱分析器是你的理想选择!这款免费…...
英雄联盟智能助手:从青铜到王者的全方位游戏体验升级指南
英雄联盟智能助手:从青铜到王者的全方位游戏体验升级指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 想要在英雄联盟中获得竞争…...
Jetson Nano到手第一步:保姆级系统烧录与基础环境配置(避坑指南)
Jetson Nano开箱实战:从零构建AI开发环境的完整指南 刚拆封的Jetson Nano开发板躺在桌面上,这块仅有信用卡大小的设备却蕴含着强大的边缘计算能力。对于初次接触嵌入式AI开发的工程师而言,如何正确完成系统初始化往往成为第一个技术门槛。本文…...
将随身WiFi变身微型服务器:基于高通410芯片刷入Debian实战
1. 为什么选择高通410随身WiFi改服务器? 去年我在整理抽屉时翻出三个闲置的随身WiFi设备,突然想到:这些搭载高通410芯片的小玩意,能不能变成微型Linux服务器?经过两周的折腾,不仅成功刷入Debian系统&#x…...
49_《智能体微服务架构企业级实战教程》智能助手主应用服务之工具执行节点
前言 配套视频教程: 在 Bilibili课堂、CSDN课程、51CTO学堂 同步发售,提供:源码+部署脚本+文档。 bilibili课堂视频教程:智能体微服务架构企业级实战教程_哔哩哔哩_bilibili CSDN课程视频教程:智能体微服务架构企业级实战教程_在线视频教程-CSDN程序员研修院 51CTO学堂…...
FanControl完全指南:Windows风扇智能控制的终极解决方案
FanControl完全指南:Windows风扇智能控制的终极解决方案 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/…...
