数据库的分库分表

news2024/12/24 8:10:54
#!/bin/bash
#########################
#File name:db_fen.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2023-07-29 09:18:52
#Description:
#########################
 
# MySQL连接信息
db_user="root"
db_password="RedHat@123"
db_cmd="-u${db_user} -p${db_password}"
exclude_db="information_schema|mysql|performance_schema|sys|Database"
bak_dir=/backup/db/mysqldump_test/
# 判断备份路径是否存在
[ -d ${bak_dir} ] || mkdir ${bak_dir}
 
# 查找出需要备份的数据库
 mysql ${db_cmd} -e"show databases" -N 2>/dev/null | egrep -v "$exclude_db" > dbtmp
# 循环遍历数据库列表
while read db
do
        #对数据库进行备份
    mysqldump ${db_cmd} --set-gtid-purged=off $db 2>/dev/null | gzip > ${bak_dir}/`date +%F`-$db.sql.gz
        #判断是否备份成功
    if [ $? -eq 0 ]
    then
        echo "database $db is being backed up ... success!"
    else
        echo "database $db is being backed up ... failure!"
    fi
        #根据数据库进行分表备份 
    [ -d ${bak_dir}/$db ] || mkdir -p ${bak_dir}/$db
               # 获取数据库中的表名列表
    mysql ${db_cmd}  $db -e "SHOW TABLES;" | grep -v "Tables_in" > tbtmp
 
    # 循环遍历表名列表
    while read tb
    do
        # 对表进行备份
        mysqldump ${db_cmd} --set-gtid-purged=off $db $tb 2>/dev/null | gzip > ${bak_dir}/$db/`date +%F`-$db-$tb.sql.gz
 
 # 判断是否备份成功
        if [ "$?" -eq 0 ]; then
            echo "Backup of $db.$tb successful!"
        else
            echo "Backup of $db.$tb failed!"
        fi
    done < tbtmp
done < dbtmp
#删除临时文件
rm -rf tbtmp
rm -rf dbtmp

 

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

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

相关文章

linux安装Tomcat及部署jpress的详细教程!!!

一、YUM在线安装 1、查看Tomcat相关安装包 [rootlocalhost ~]# yum list | grep tomcat tomcat.noarch 7.0.76-16.el7_9 updates tomcat-admin-webapps.noarch 7.0.76-16.el7_9 updates tomcat-docs…

msvcr100.dll丢失的解决方法?三招解决msvcr100.dll丢失问题

最近我遇到了一个电脑问题&#xff0c;就是在运行某个软件时提示缺少msvcr100.dll文件。起初我并不知道这个文件是什么&#xff0c;也不知道它的作用&#xff0c;但通过一番搜索和了解&#xff0c;我对这个问题有了更深的理解&#xff0c;并且也得到了解决的办法。 解决方法一&…

分享学习java过程中遇到的一些网址

*****JavaWeb视频教程***** https://www.bilibili.com/video/BV1m84y1w7Tb?p4&spm_id_frompageDriver&vd_source841fee104972680a6cac4dbdbf144b50*****Java前端官网教程&#xff08;HTML、CSS、JS)***** https://www.w3school.com.cn/html/index.asp*****VS Code官网…

阶段性实验汇总

文章目录 前言一、实验目的与要求1.目的2.要求 二、实验拓扑三、实验步骤1.阅读实验拓扑2.配置基础环境3.配置DHCP及其中继服务器&#xff08;一&#xff09;DHCP主服务器&#xff08;二&#xff09;DHCP中继服务器(三)登录客户端验证 4.配置DNS服务器&#xff08;一&#xff0…

faac内存开销较大,为方便嵌入式设备使用进行优化(valgrind使用)

faac内存开销较大&#xff0c;为方便嵌入式设备使用进行优化&#xff0c;在github上提了issues但是没人理我&#xff0c;所以就搞一份代码自己玩吧。 基于faac_1_30版本&#xff0c;原工程https://github.com/knik0/faac faac内存优化: faac内存开销较大&#xff0c;为方便嵌入…

RS232转Profinet网关rs232转网口需要如何设置

大家好&#xff0c;今天我要给大家带来一个很有意思的案例分享。你们猜猜&#xff0c;这回我们要用捷米的一款神奇的网关JM-RS485/232-PN做什么呢&#xff1f;没错&#xff0c;我们要把一台扫码枪设备通过这个RS232转PROFINET网关&#xff0c;接入到一台西门子S7-1200PLC的Prof…

无涯教程-Lua - for语句函数

for 循环是一种重复控制结构&#xff0c;可让您有效地编写需要执行特定次数的循环。 for loop - 语法 Lua编程语言中 for 循环的语法如下- for init,max/min value, increment dostatement(s) end 这是 for 循环中的控制流程- 首先执行 init 步骤&#xff0c;并且仅执行一…

DT MAYA绑定

设置另外一边 控制器 结果 根骨骼 // 错误: line 0: 未应用冻结变换&#xff0c;因为 curve4.scaleX 被锁定。 骨骼旋转 轴向

关于latch up的重读

衬底电流容易导致寄生三极管导通(衬底电阻衬底电流》衬底压差)&#xff0c;更容易触发latchup&#xff1b; 一般常用的实际产品中会用衬底隔离的器件来做负压器件&#xff1b;用DNW&NBL组成一个隔离盆将整个负压区和正常电路分开&#xff0c;DNW&NBL接高电压&#xff1…

【福建事业单位-语言理解】03 语序选择-填空-接语

【福建事业单位-语言理解】03 语序选择-填空-接语 一、语句排序1.1 确定首句1.2 确定捆绑集团/确定局部顺序/确定尾句1.3确定尾句总结 二、语句填空题句子首句&#xff08;概括下文&#xff09;句尾&#xff08;总结前文/提对策&#xff09;句中&#xff08;承上启下&#xff0…

spring-bean配置信息重用(继承)和bean创建顺序是什么以及bean 对象的单例和多例讲解

&#x1f600;前言 本章是spring基于XML 配置bean系类中第5篇讲解spring-bean配置信息重用(继承)和bean创建顺序是什么以及bean 对象的单例和多例讲解 &#x1f3e0;个人主页&#xff1a;尘觉主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是尘觉&#xff0c;希…

Java-SPI机制详解

Java之SPI机制详解 1: SPI机制简介 SPI 全称是 Service Provider Interface&#xff0c;是一种 JDK 内置的动态加载实现扩展点的机制&#xff0c;通过 SPI 技术我们可以动态获取接口的实现类&#xff0c;不用自己来创建。这个不是什么特别的技术&#xff0c;只是 一种设计理念…

【MySQL】MVCC的实现原理

MVCC的实现原理 1.前期准备1.2.隐式字段1.3.undo log日志1.4.readView 2.MVCC的实现流程2.1.R C&#xff08;读已提交---隔离级别&#xff09;2.2.R R&#xff08;可重复读---隔离级别&#xff09; 3.面试题---->事务中的隔离性是如何保证的呢&#xff1f;(你解释一下MVCC) …

减少错误和重复工作:PDM系统的智能排错功能

减少错误和重复工作&#xff1a;PDM系统的智能排错功能 在产品开发和制造过程中&#xff0c;错误和重复工作常常是企业面临的挑战。这不仅浪费了宝贵的时间和资源&#xff0c;还可能导致产品质量下降和生产延误。PDM系统&#xff08;Product Data Management&#xff0c;产品数…

Jmeter阶梯式加压测试

熟悉阿里云性能测试PTS的都可以看到压测配置设置如下图&#xff0c;相比Jmeter简单的线程设置&#xff0c;要合理更直观。 但是我们会去研究&#xff0c;性能测试中&#xff0c;有时需要模拟一种实际生产中经常出现的情况&#xff0c; 即&#xff1a;从某个值开始不断增加压力…

【Linux】常用的基本指令

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 如果文章对…

matplotlib绘制方波圆周分解动画

1 方波的圆周分解 在学习傅里叶变换的时候&#xff0c;有一个经典的示例是方波的分解。我们知道&#xff0c;方波可以分解为无数个正弦波的叠加。而正弦波&#xff0c;又可以看作是圆周运动在一条直线上的投影。当时为了理解这个事情&#xff0c;恐怕大家也花了不少时间。 学…

【MyBtis】各种查询功能

目录 【MyBtis】配置和映射 11.1 示例:实现表数据的增、删、改、查 1.创建工程mybatis_DML demo 2.创建数据库操作的工具类&#xff1a;DBOperatorMgr.java 3.创建映射接口 4.创建XML映射文件 5.测试 【MyBtis】配置和映射 MyBatis 的真正强大之外在于它的映射语句&#xf…

jest单元测试的代码覆盖率显示不出来

jest.config.js配置文件 const path require(path)// 添加 verbose: true, testURL: http://localhost/module.exports {verbose: true,testURL: http://localhost/,rootDir: path.resolve(__dirname, ../../),moduleFileExtensions: [js,json,vue],moduleNameMapper: {^/(…

Java基础篇_1.4——程序流程控制之选择结构if语句

程序流程控制 关于程序控制的关键字&#xff1a; 程序控制关键字breakdowhileforcontinueswitchcasedefaultreturninstanceofifelse 程序运行时的一个顺序&#xff0c;程序的结构分为&#xff1a;顺序结构、选择结构和循环结构。 顺序结构是指按照代码的书写顺序执行。选择结…