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

shell脚本:数据库的分库分表

#!/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 ]thenecho "database $db is being backed up ... success!"elseecho "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 tbdo# 对表进行备份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 ]; thenecho "Backup of $db.$tb successful!"elseecho "Backup of $db.$tb failed!"fidone < tbtmp
done < dbtmp
#删除临时文件
rm -rf tbtmp
rm -rf dbtmp

 

http://www.lryc.cn/news/101259.html

相关文章:

  • AtCoder Beginner Contest 312(A~D)
  • SQL中Partition的相关用法
  • 微服务——Docker
  • 测试|测试用例方法篇
  • 负载均衡的策略有哪些? 负载均衡的三种方式?
  • 二十三章:抗对抗性操纵的弱监督和半监督语义分割的属性解释
  • curator实现的zookeeper可重入锁
  • 抽象工厂模式——产品族的创建
  • 【C语言初阶篇】自定义类型结构体我不允许还有人不会!
  • 重大更新|Sui主网即将上线流动性质押,助力资产再流通
  • day3 驱动开发 c语言编程
  • 【字节跳动青训营】后端笔记整理-3 | Go语言工程实践之测试
  • 【Android】Recyclerview的缓存复用
  • 机器学习:混合高斯聚类GMM(求聚类标签)+PCA降维(3维降2维)习题
  • libuv库学习笔记-processes
  • c++ 给无名形参提供默认值
  • NO1.使用命令行创建Maven工程
  • 深度学习入门(一):神经网络基础
  • 网络知识整理
  • 如何有效地使用ChatGPT写小说讲故事?
  • 原生求生记:揭秘UniApp的原生能力限制
  • 网络编程 IO多路复用 [epoll版] (TCP网络聊天室)
  • 【go-zero】浅析 01
  • 音视频——视频流H264编码格式
  • 【使用深度学习的城市声音分类】使用从提取音频特征(频谱图)中提取的深度学习进行声音分类研究(Matlab代码实现)
  • 机器学习完整路径
  • CK-00靶机详解
  • 17-C++ 数据结构 - 栈
  • Redis如何实现排行榜?
  • Pycharm debug程序,跳转至指定循环条件/循环次数