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

相关推荐
GBASE11 小时前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
xiezhr21 小时前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
唐青枫2 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
吃糖的小孩2 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
小满8782 天前
5.Mysql事务隔离级别与锁机制
mysql
笃行3503 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3503 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3503 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
元Y亨H3 天前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql