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

编写shell脚本,利用mysqldump实现MySQL数据库分库分表备份

 查看数据和数据表

mysql -uroot -p'123456' -e 'show databases'

 mysql -uroot -p'123456' -e 'show tables from cb_d'

删除头部Database和数据库自带的表

mysql -uroot -p'123456' -e 'show databases' -N | egrep -v "information_schema|mysql|performance_schema|sys"

 编写脚本

#!/bin/bash
#********************************************************************
#Author: cb
#Date: 2023-11-02
#FileName: cbmysql.sh
#Description: The test script
#********************************************************************#除去系统自带的库以外,再将存在的数据库名分别保存到dbname文件中
mysql -uroot -p'123456' -e 'show databases' -N | egrep -v 'information_schema|mysql|performance_schema|sys' > dbname# 判断是否有/backup/db目录,没有则创建
[ -d /backup/db ] || mkdir -p /backup/db#一行一行读取dbname中的库名,然后开始备份数据库,进而分别备份数据库中的表
while read line
do#备份数据库mysqldump -uroot -p'123456' -B $line | gzip > /backup/db/${line}_$(date +%F).sql.gz#分别将数据库中的表名保存到tbname文件中mysql -uroot -p'123456' -e "show tables from $line" -N > tbname#判断是否有/backup/db/$line目录,没有则创建[ -d /backup/db/$line ] || mkdir /backup/db/$line#读取tbname中的表名,备份数据表while read line2do#备份数据表mysqldump -uroot -p'123456' $line $line2 | gzip > /backup/db/$line/${line2}_$(date +%F).sql.gzdone < tbname
done < dbname

检查脚本运行备份数据库

tree /backup/db

分表分库备份成功

还原检测

删除数据库并查看库

 mysql -uroot -p'123456' -e 'drop database cb_d'
mysql -uroot -p'123456' -e 'show databases'

开始还原

使用备份的库进行还原,由于是压缩文件,使用压缩还原

gunzip < /backup/db/cb_d_2023-11-02.sql.gz | mysql -uroot -p'123456' -B

查看数据库

 

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

相关文章:

  • 本地部署Jellyfin影音服务器并实现远程访问影音库
  • 【数据结构】希尔排序
  • 使用VBA打印PDF文件
  • 分布式ID系统设计(2)
  • http和https的区别,以及https涉及到的加密过程
  • 使用php打印时间精确到毫秒及毫秒转成11位时间戳
  • uni-app离线打包在android studio创建的.jks证书,签名文件获取MD5问题
  • 333333333333
  • Python:字符串格式化
  • 虹科示波器 | 汽车免拆检修 | 2010款江铃陆风X8车发动机怠速抖动、加速无力
  • 左和右,激进与保守,都是相对概念,但是都会滑向同一种
  • js中的遍历
  • Python算法——快速排序
  • 操作系统备考学习 day12 (第五章)
  • Elasticsearch删除映射类型
  • 网络工程师进阶课:华为HCIP认证课程介绍
  • 单行自动横向滚动——css实现
  • 多线程基础
  • 贝锐向日葵亮相阿里云“云栖大会”:独创专利算法赋能全新云桌面
  • QT在线安装5.15之前的版本(下载速度飞快)
  • 零日漏洞预防
  • 企业内部外网向内网传输文件如何实现高效安全?
  • C++--二叉搜索树初阶
  • Type List(C++ 模板元编程)
  • 使用老北鼻CharGPT对话查询 Qt/C++ 使用gumbo-parse解析加载的html全过程
  • ​ iOS App Store上传项目报错 缺少隐私政策网址(URL)解决方法
  • 设计模式第一课-单例模式(懒汉模式和饿汉模式)
  • Yaml文件详解
  • 【题解 线段树】[蓝桥杯 2022 省 A] 选数异或
  • 宠物喂食器方案智能开发设计