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

相关推荐
香蕉鼠片7 分钟前
Mysql进阶篇
数据库·mysql·oracle
数厘8 分钟前
2.12 sql 数据插入(INSERT INTO)
数据库·sql·oracle
薛定e的猫咪9 分钟前
2026 年 4 月实测:OpenAI Codex 保姆级教程,从安装到 MCP、Skills 与多智能体协作
前端·数据库·人工智能
wgzrmlrm7410 分钟前
Django怎么优雅发送邮件_Python配置SMTP后端实现异步通知
jvm·数据库·python
014-code12 分钟前
Redis 删除缓存失败怎么办?重试、死信、补偿的工程化方案
数据库·redis·缓存
I love studying!!!13 分钟前
Web应用程序:用户账户
前端·数据库·sqlite
quxuexi15 分钟前
MySQL B+树与复合索引完全指南:从底层原理到高性能优化
b树·mysql·性能优化
窝子面16 分钟前
NestJs+MongoDB+Deepseek+Langchain实现ai聊天助手
javascript·数据库·人工智能·mongodb
y = xⁿ18 分钟前
【保姆级 :图解MySQL 执行全链路讲解】主键索引扫描,全局扫描,索引下推还是分不清楚?这一篇就够啦
android·mysql
zjshuster18 分钟前
流程引擎(Process Engine)简介
java·数据库·servlet