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

相关推荐
小白说大模型18 分钟前
LLM集成数据库的幻觉治理:当AI给出的SQL建议是错的
数据库·人工智能·sql·oracle·重构·开源
zcmodeltech1 小时前
工程机械与矿山机械沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的露天开采-井下掘进-智慧矿山全场景联动方案
数据库·stm32·单片机·嵌入式硬件·制造·多分类
曹牧1 小时前
Oracle:空值排序
数据库·oracle
SelectDB1 小时前
Apache Doris 与 StarRocks 深度对比:2026 年 OLAP 引擎选型指南
数据库
lbb 小魔仙2 小时前
谁替 AI Agent 记住时间?——从航海钟到智能数据库,三百年时延坍缩史
数据库·人工智能·db
这个DBA有点耶2 小时前
读懂半连接:IN/EXISTS子查询什么时候快、什么时候慢?
数据库·性能优化·架构
01_ice2 小时前
MySQL内外连接
数据库·mysql
ClouGence3 小时前
2026 年 4 款数据库管理工具推荐:免费、开源、付费怎么选?
数据库·后端·开源
SelectDB3 小时前
招联金融数仓升级:Apache Doris 统一 OLAP 引擎实现降本提效实践
数据库
SelectDB3 小时前
腾讯音乐内容库 ES 替代:从 Elasticsearch 到 Apache Doris 统一搜索分析引擎实践
数据库