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

Shell脚本实现分库分表操作

目录

一,分库备份

二,分库操作

三,分库分表备份

四,备份还原


一,分库备份

#!/bin/bash
mysql_cmd='-uroot -pzly666666'
bak_path=/backup/db
[ -d ${bak_path} ] || mkdir -p ${bak_path}mysql ${mysql_cmd} -e 'show databases' -N | egrep -v 'sys|mysql|information_schema|performance_schema' > dbnamewhile read line
domysqldump ${mysql_cmd} -B $line | gzip > ${bak_path}/${line}_$(date +%F).sql.gzdone < dbname
rm -rf dbname

二,分库操作

#!/bin/bash
mysql_cmd='-uroot -pzly666666'
bak_path=/backup/db
mysql -uroot -pzly666666 -e 'show tables from homework;' -N > tbname#mysql ${mysql_cmd} -e 'show databases' | egrep -v 'sys|mysql|information_schema|performance_schema' > dbnamewhile read line
do[ -d ${bak_path}/homework ] || mkdir -p ${bak_path}/homeworkmysqldump ${mysql_cmd} homework $line | gzip > ${bak_path}/homework/homework_${line}_$(date +%F).sql.gzdone < tbname
rm -rf tbname

三,分库分表备份

#!/bin/bash
mysql_cmd='-uroot -pzly666666'
bak_path=/backup/db
exclude_db='sys|mysql|information_schema|performance_schema'mysql ${mysql_cmd} -e 'show databases' -N | egrep -v ${exclude_db} > dbnamewhile read db
do[ -d ${bak_path}/$db ] || mkdir -p ${bak_path}/$dbmysqldump ${mysql_cmd} -B $db | gzip > ${bak_path}/${db}/${db}_$(date +%F).sql.gzmysql ${mysql_cmd} -e "show tables from ${db};" -N > tbnamewhile read tbdomysqldump ${mysql_cmd} $db $tb | gzip > ${bak_path}/${db}/${db}_${tb}_$(date +%F).sql.gz
done < tbname
done < dbname
rm -rf tbname
rm -rf dbname

 

四,备份还原

 zcat /backup/db/homework/homework_emp_2023-07-30.sql.gz | mysql -uroot -pzly666666 homework

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

相关文章:

  • 区块链实验室(12) - 网络拓扑对PBFT共识流量的影响
  • 聊聊这几年的科技风口
  • 【力扣每日一题】2023.7.30 环形链表2
  • Flink状态的理解
  • 6.3.tensorRT高级(1)-yolov5模型导出、编译到推理(无封装)
  • 如何利用设备数字化平台推动精益制造?
  • 使用Wps减小PDF文件的大小
  • 【深度学习】GPT-3
  • 在登录界面中设置登录框、多选项和按钮(HTML和CSS)
  • 【语音识别】- 声学,词汇和语言模型
  • 【考研英语语法及长难句】小结
  • C# 反射
  • Pytorch(二)
  • Python 使用http时间同步设置系统时间源码
  • golang sync.singleflight 解决热点缓存穿透问题
  • 4、Linux驱动开发:设备-设备号设备号注册
  • C++(MFC)调用Python
  • 深度学习实践——循环神经网络实践
  • docker简单web管理docker.io/uifd/ui-for-docker
  • SpringBoot内嵌的Tomcat:
  • 企业级docker应用注意事项
  • 腾讯云高性能计算集群CPU服务器处理器说明
  • tinkerCAD案例:23.Tinkercad 中的自定义字体
  • Box-Cox 变换
  • Linux wc命令用于统计文件的行数,字符数,字节数
  • Python读取多个栅格文件并提取像元的各波段时间序列数据与变化值
  • Linux 之 wget curl
  • AngularJS 和 React区别
  • 【Solr】Solr搜索引擎使用
  • 一起学算法(选择排序篇)