MySQL数据库分库分表备份(shell脚本)
创建目录
mkdir /server/scripts
一、使用脚本实现分库备份
1、创建脚本并编写
[root@localhost scripts]# vim bak_db_v1.sh +#!/bin/bash
#########################################
# File Name:bak_db_v1.sh
# Version: V1.0
# Author:Shen QL
# Email:17702390000@163.com
# Organization:
# Create Time:2023-07-27 19:21:21
# Description:分库备份
##########################################优化
#备份的路径
bak_path=/backup/db
#账号,密码
mysql_cmd='-uroot -pRedHat@123'
#需要排除的数据库
exclude_db='information_schema|mysql|performance_schema|sys'#检验备份路径是否存在,不存在则创建
[ -d ${bak_path} ] || mkdir -p ${bak_path}#提取需要备份的数据库,并将其写入文件(dbname)中
mysql ${mysql_cmd} -e 'show databases' -N | egrep -v "${exclude_db}" > dbname#循环文件,针对每个库进行备份
while read line
domysqldump ${mysql_cmd} -B $line | gzip > ${bak_path}/${line}_$(date +%F).sql.gz
done < dbname#删除临时文件
rm -f dbname
结果

二、使用脚本实现分表备份
#!/bin/bash
#########################################
# File Name:bak_tb_v1.sh
# Version: V1.0
# Author:Shen QL
# Email:17702390000@163.com
# Organization:
# Create Time:2023-07-27 19:21:21
# Description:分表备份
##########################################优化
#备份的路径
bak_path=/backup/db
#账号,密码
mysql_cmd='-uroot -pRedHat@123'
#需要排除的数据库
exclude_db='information_schema|mysql|performance_schema|sys'#提取需要备份的数据表,并将其写入文件(tbname)中
mysql -uroot -pRedHat@123 -N -e'show tables from abc' > tbname
#循环文件,针对每个表进行备份
while read line
do#将数据表放在对应的数据库下面[ -d ${bak_path}/abc ] || mkdir -p ${bak_path}/abcmysqldump ${mysql_cmd} abc $line | gzip > ${bak_path}/abc/abc_${line}_$(date +%F).sql.gz
done < tbname#删除临时文件
rm -f tbname
结果

三、使用脚本实现分库分表备份
#!/bin/bash
#########################################
# File Name:bak_tb_v1.sh
# Version: V1.0
# Author:Shen QL
# Email:17702390000@163.com
# Organization:
# Create Time:2023-07-27 19:21:21
# Description:分库分表备份
##########################################优化
#备份的路径
bak_path=/backup/db
#账号,密码
mysql_cmd='-uroot -pRedHat@123'
#需要排除的数据库
exclude_db='information_schema|mysql|performance_schema|sys'#提取需要备份的数据库,并将其写入文件(dbname)中
mysql ${mysql_cmd} -e 'show databases' -N | egrep -v "${exclude_db}" > dbname
while read line
do#循环文件,针对每个库进行备份 [ -d ${bak_path}/$line ] || mkdir -p ${bak_path}/$linemysqldump ${mysql_cmd} -B $line | gzip > ${bak_path}/${line}/${line}_$(date +%F).sql.gz#提取需要备份的数据表,并将其写入文件(tbname)中mysql ${mysql_cmd} -N -e "show tables from $line" > tbname#循环文件,针对每个表进行备份while read tbdo#将数据表放在对应的数据库下面mysqldump ${mysql_cmd} $line $tb | gzip > ${bak_path}/$line/${line}_${tb}_$(date +%F).sql.gzdone < tbname
done < dbname#删除临时文件
rm -f dbname tbname
结果

相关文章:
MySQL数据库分库分表备份(shell脚本)
创建目录 mkdir /server/scripts 一、使用脚本实现分库备份 1、创建脚本并编写 [rootlocalhost scripts]# vim bak_db_v1.sh #!/bin/bash ######################################### # File Name:bak_db_v1.sh # Version: V1.0 # Author:Shen QL # Email:17702390000163.co…...
建造者设计模式go实现尝试
文章目录 前言代码结果总结 前言 本文章尝试使用go实现“建造者”。 代码 package mainimport ("fmt" )// 产品1。可以有不同的毫无相关的产品,这里只举一个 type Product1 struct {parts []string }// 产品1逻辑。打印组成产品的部分 func (p *Product…...
创建交互式用户体验:探索JavaScript中的Prompt功能
使用JavaScript中的Prompt功能:创建交互式用户体验 在前端开发中,JavaScript的prompt()函数是一个强大而有用的工具,它可以创建交互式的用户体验。无论是接收用户输入、进行简单的验证还是实现高级的交互功能,prompt()函数都能胜…...
自然语言处理从入门到应用——LangChain:提示(Prompts)-[提示模板:基础知识]
分类目录:《自然语言处理从入门到应用》总目录 语言模型以文本作为输入,这段文本通常被称为提示(Prompt)。通常情况下,这不仅仅是一个硬编码的字符串,而是模板、示例和用户输入的组合。LangChain提供了多个…...
OpenPCDet调试出现的问题
Open3d遇到的问题,解决方案 1.ModuleNotFoundError: No module named ‘pcdet’ 原因:没有编译安装pcdet。 解决:进入openpcdet项目根目录,修改setup.py权限,并编译: sudo chmod 777 setup.py python set…...
【业务功能篇58】Springboot + Spring Security 权限管理 【下篇】
4.2.2.3 SpringSecurity工作流程分析 SpringSecurity的原理其实就是一个过滤器链,内部包含了提供各种功能的过滤器。这里我们可以看看入门案例中的过滤器。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KjoRRost-1690534711077)(http…...
VBA技术资料MF34:检查Excel自动筛选是否打开
【分享成果,随喜正能量】聪明人,抬人不抬杠;傻子,抬杠不抬人。聪明人,把别人抬得很高,别人高兴、舒服了,看你顺眼了,自然就愿意帮你!而傻人呢?不分青红皂白&a…...
spring扩展点
在Spring框架中,有多个扩展点(Extension Point)可用于自定义和扩展应用程序的行为。这些扩展点允许开发人员介入Spring的生命周期和行为,并提供了灵活性和可定制性。以下是一些常见的Spring扩展点: BeanPostProcessor&…...
Skin Shader 使用自动生成的Thickness
Unity2023.2的版本,Thickness 自动化生成,今天测试了一把,确实不错。 1.Render 设置 在Project Settings->Graphics->HDRP Global Settings中 Frame Setting->Rendering->Compute Thickness 打开 2.Layer设置 2.1添加Layer&…...
Docker中的网络
文章目录 网络网桥(bridge)创建网桥接口hostnonecontaineroverlayoverlay底层原理 网络 网桥(bridge) 在Docker中,网桥(Bridge)是一种网络驱动,用于实现Docker容器之间和容器与宿主…...
SRS开源代码框架,协程库state-threads的使用
本章内容解读SRS开源代码框架,无二次开发,以学习交流为目的。 SRS是国人开发的流媒体服务器,C语言开发,本章使用版本:https://github.com/ossrs/srs/tree/5.0release。 目录 SRS协程库ST的使用源码ST协程库测试SrsAut…...
【QT 网络云盘客户端】——登录界面功能的实现
目录 1.注册账号 2.服务器ip地址和端口号设置 3. 登录功能 4.读取配置文件 5.显示主界面 1.注册账号 1.点击注册页面,将数据 输入 到 用户名,昵称,密码,确认密码,手机,邮箱 的输入框中, 点…...
【复盘与分享】第十一届泰迪杯B题:产品订单的数据分析与需求预测
文章目录 题目第一问第二问2.1 数据预处理2.2 数据集分析2.2.1 训练集2.2.2 预测集 2.3 特征工程2.4 模型建立2.4.1 模型框架和评价指标2.4.2 模型建立2.4.3 误差分析和特征筛选2.4.4 新品模型 2.5 模型融合2.6 预测方法2.7 总结 结尾 距离比赛结束已经过去两个多月了。 整个过…...
X - Transformer
回顾 Transformer 的发展 Transformer 最初是作为机器翻译的序列到序列模型提出的,而后来的研究表明,基于 Transformer 的预训练模型(PTM) 在各项任务中都有最优的表现。因此,Transformer 已成为 NLP 领域的首选架构&…...
ubuntu下畅玩Seer(via wine)
第一步:安装wine 部分exe文件的运行需要32位的指令集架构,需要向Ubuntu系统中添加一个新的架构(i386),以支持32位的软件包。因为在64位的Ubuntu系统中,默认情况下只能安装和运行64位的软件。 通过添加i386…...
第五章:Spring下
第五章:Spring下 5.1:AOP 场景模拟 创建一个新的模块,spring_proxy_10,并引入下面的jar包。 <packaging>jar</packaging><dependencies><dependency><groupId>junit</groupId><artifactI…...
在CSDN学Golang云原生(Kubernetes基础)
一,k8s集群安装和升级 安装 Golang K8s 集群可以参照以下步骤: 准备环境:需要一组 Linux 服务器,并在每台服务器上安装 Docker 和 Kubernetes 工具。初始化集群:使用 kubeadm 工具初始化一个 Kubernetes 集群。例如&…...
给APK签名—两种方式(flutter android 安装包)
前提:给未签名的apk签名,可以先检查下apk有没有签名 通过命令行查看:打开终端或命令行界面,导入包含APK文件的目录,并执行以下命令: keytool -printcert -jarfile your_app.apk 将 your_app.apk替换为要检查…...
观察者模式、中介者模式和发布订阅模式
观察者模式 定义 观察者模式定义了对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知,并自动更新 观察者模式属于行为型模式,行为型模式关注的是对象之间的通讯,观察者模式…...
PHP-Mysql图书管理系统--【白嫖项目】
强撸项目系列总目录在000集 PHP要怎么学–【思维导图知识范围】 文章目录 本系列校训本项目使用技术 首页phpStudy 设置导数据库后台的管理界面数据库表结构项目目录如图:代码部分:主页的head 配套资源作业: 本系列校训 用免费公开视频&am…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
6.9-QT模拟计算器
源码: 头文件: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMouseEvent>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);…...
大数据治理的常见方式
大数据治理的常见方式 大数据治理是确保数据质量、安全性和可用性的系统性方法,以下是几种常见的治理方式: 1. 数据质量管理 核心方法: 数据校验:建立数据校验规则(格式、范围、一致性等)数据清洗&…...
ArcPy扩展模块的使用(3)
管理工程项目 arcpy.mp模块允许用户管理布局、地图、报表、文件夹连接、视图等工程项目。例如,可以更新、修复或替换图层数据源,修改图层的符号系统,甚至自动在线执行共享要托管在组织中的工程项。 以下代码展示了如何更新图层的数据源&…...
react菜单,动态绑定点击事件,菜单分离出去单独的js文件,Ant框架
1、菜单文件treeTop.js // 顶部菜单 import { AppstoreOutlined, SettingOutlined } from ant-design/icons; // 定义菜单项数据 const treeTop [{label: Docker管理,key: 1,icon: <AppstoreOutlined />,url:"/docker/index"},{label: 权限管理,key: 2,icon:…...
