mysqldump分库分表备份

1.mysqldump工具介绍:

mysqldump是mysql自带的逻辑备份工具。它通过协议连接到mysql数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert语句。

2.使用语法:

Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3…]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]

          参数                            描述

-h,--host=name                 连接地址
-p,--password                       密码
-P,--port                                 端口
-S,--socket=name           socket文件
-u,--user=name                   用户名
-v,--verbose                输出备份过程信息
-A,--all-databases         备份所有数据库
-Y,--all-tablespaces      备份所有表空间
-y,--no-tablespaces        不备份表空间
-B,--databases            备份指定的数据库
-d,--no-data                      不备份数据
--ignore-table=name   不备份某些指定的表
-n,--no-create-db         不写入创建表信息

4.使用shell脚本实现 :
#!/bin/bash
 
user='-uroot -p123456'
exclude_db="mysql|information_schema|performance_schema|sys|Database"

bak_path=/backup/
[  -d $bak_path ] ||  mkdir -p $bak_path
mysql $user -e 'show databases;' | egrep -v $exclude_db > db_bak
 
while read line
do
        mkdir -p $bak_path$line
        mysql -uroot -p123456 -N -e "show tables from $line" > db.table
        while read table 
        do
                mysqldump $user $line $table | gzip > $bak_path$line/$table`date +%F`.gz
        done < db.table
        rm -rf db.table
done < db_bak
 
rm -rf db_bak

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值