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

相关推荐
bing_feilong4 小时前
Windows上SSH连接Ubuntu失败
windows·ubuntu·ssh
卜及中5 小时前
【Redis/1-前置知识】分布式系统概论:架构、数据库与微服务
数据库·redis·架构
奈斯ing6 小时前
【prometheus+Grafana篇】基于Prometheus+Grafana实现Redis数据库的监控与可视化
数据库·redis·缓存·grafana·prometheus
在未来等你6 小时前
SQL进阶之旅 Day 23:事务隔离级别与性能优化
sql·mysql·postgresql·高并发·数据一致性·数据库优化·事务隔离
ningmengjing_6 小时前
数据库——MongoDB
数据库·mongodb
海棠一号6 小时前
JAVA理论第七章-MYSQL
java·数据库·mysql
_Chipen8 小时前
6.10 - 常用 SQL 语句以及知识点
数据库·sql·oracle
青春之我_XP8 小时前
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
数据库·sql