MySQL数据库分库分表备份

分库备份

创建脚本并编写

root@localhost scripts# vim bak_db_v1.sh

#!/bin/bash

备份的路径

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

do

mysqldump {mysql_cmd} -B line | gzip > {bak_path}/{line}_$(date +%F).sql.gz

done < dbname

删除临时文件

rm -f dbname

分表备份

#!/bin/bash
备份的路径

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}/abc

mysqldump {mysql_cmd} abc line | gzip > {bak_path}/abc/abc_{line}_$(date +%F).sql.gz

done < tbname
删除临时文件

rm -f tbname

相关推荐
Aloudata4 分钟前
语义资产运营指南:如何管理指标、维度、口径、Owner、血缘和使用记录
数据库·人工智能·数据分析·数据资产·dataagent·语义层
PaperData6 分钟前
2006-2024年地级市能源消费强度数据
数据库·能源
龙亘川42 分钟前
城市公共安全治理如何从“人海战术“走向“数据驱动“?
大数据·数据库·人工智能·安全·microsoft·智慧城市·数据可视化
betazhou1 小时前
Apache Seatunnel 抽取SQL server实时同步到Oracle-多表同步(五)
数据库·oracle·sqlserver·apache·seatunnel
神也畏惧菠萝1 小时前
Coze 工作流数据库 Day06:架构与高级循环控制的深度技术分析
数据库·架构·llm·coze·coze数据库·数据库流程结构
麦壳饼1 小时前
SonnetDB:空间函数别名的参数与兼容边界
数据库·sonnetdb
花间相见1 小时前
【计算基础|MySQL11】事务与隔离级别
sql·mysql·adb·架构
han68891 小时前
jmeter操作数据库
数据库·jmeter
星马梦缘1 小时前
人工智能学院游戏设计大赛决赛 · 执行提纲
数据库·人工智能·游戏
eleven_4u2 小时前
MySQL引擎层是如何工作的
数据库·mysql