MySQL 实现分库和分表的备份 2023.7.29

1、分库备份

bash 复制代码
[root@localhost mysql-backup]# cat db_bak.sh 
#!/bin/bash
k_user=root
bak_password=123456
bak_path=/root/mysql-backup/
bak_cmd="-u$bak_user -p$bak_password"
exc_db="Database|information_schema|mysql|performance_schema|sys"
dbname=`mysql $bak_cmd -e "show databases"| egrep -v $exc_db`
for db in `echo $dbname`
do
   [ -d $bak_path ] || mkdir -p $bak_path
   mysqldump $bak_cmd -B $db | gzip > $bak_path/${db}_`date +$Y%m%d`.sql.gz
done

2、分表备份

bash 复制代码
[root@localhost mysql-backup]# cat tb_bak.sh 
#!/bin/bash
k_user=root
bak_password=123456
bak_path=/root/mysql-backup/
bak_cmd="-u$bak_user -p$bak_password"
exc_db="Database|information_schema|mysql|performance_schema|sys"
db_name=`mysql $bak_cmd -e "show databases"| egrep -v $exc_db`
#echo $db_name
for db in `echo $db_name`
do        
  [ -d ${bak_path} ] || mkdir -p ${bak_path}
  dt_name=`mysql $bak_cmd -e "use $db;show tables" | egrep -v "Tables_in_$db"`
  #echo $db
  #echo $dt_name
  for dt in `echo $dt_name`
  do
  #echo $db $dt
  mysqldump $bak_cmd $db ${dt} | gzip > $bak_path/${db}_${dt}.`date +%F%m%d`.sql.gz
  done 
done

3、运行截图

相关推荐
zh_xuan5 小时前
android ARouter配置降级服务
android·arouter
常利兵5 小时前
Android开发秘籍:接口加解密全解析
android
xuboyok25 小时前
MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
android·数据库·mysql
倔强的石头1065 小时前
MySQL 兼容性深度解析:从内核级优化到“零修改”迁移工程实践
数据库·mysql·adb·kingbase
羑悻的小杀马特6 小时前
LangChain实战:工具调用+结构化输出,让AI从“聊天“变“干活“
android·人工智能·langchain
猿月亮6 小时前
MySQL5.7安装图文详细步骤(保姆级教程)-mysql5.7下载安装
mysql·adb
秋饼7 小时前
[EXPLAIN:SQL 执行计划分析与性能优化实战]
android·sql·性能优化
robotx7 小时前
如何从framework层面跳过app开屏广告(简单模拟)
android
毕设源码-朱学姐8 小时前
【开题答辩全过程】以 基于Android的大学生兼职APP设计为例,包含答辩的问题和答案
android
tongxh4238 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql