mysql批量备份还原_mysqldump批量备份恢复数据脚本

mysqldump批量备份脚本如下:#!/bin/bash

DATE=`date "+%Y-%m-%d-%H%M%S"`

PORT=3306

DB_NAME=`/usr/local/mysql/bin/mysql -uroot -proot -h10.10.9.111 -P3306 -s -e "show databases" | grep -v "Database" `

for db_name in $DB_NAME

do

/usr/local/mysql/bin/mysqldump -uroot -proot  -h10.10.9.111 -P3306  --flush-logs --default-character-set=utf8  --single-transaction --master-data=2 $db_name > /home/db_backtmp/$db_name-$DATE.sql

done

cd /home/db_backtmp

tar czvf $DATE-$PORT.tar.gz *.sql

rm -rf *.sql

exit 0

数据库名列表放入一个文件里面# cat 00db.txt

information_schema

db_app_cms

db_eop

db_leader_cms

db_leader_comment

mysqldump出来的sql数据放入一个文件里面# cat 00dbsql.txt

-rw-r--r-- 1 root root    970701283 May 16 03:39 information_schema-2017-05-16-033001.sql

-rw-r--r-- 1 root root        32156 May 16 03:39 db_app_cms-2017-05-16-033001.sql

-rw-r--r-- 1 root root 169522095206 May 16 05:50 db_eop-2017-05-16-033001.sql

-rw-r--r-- 1 root root        99699 May 16 05:50 db_leader_cms-2017-05-16-033001.sql

-rw-r--r-- 1 root root    256290013 May 16 05:51 db_leader_comment-2017-05-16-033001.sql

批量建库和导入数据脚本# cat 00createdb.sh

#!/bin/bash

for i in `cat 00db.txt`

do

for j in `cat /data/backup/00dbsql.txt | awk -F ' ' '{print $9}' `

do

if [[ $j == *"$i"* ]];

then

mysql -uroot -proot -S  /data/mysql_data/sock/my3306.sock  -e "create database $i;"

mysql -uroot -proot -S /data/mysql_data/sock/my3306.sock $i  

echo $i

fi

done

done

执行脚本#nohup 00createdb.sh &

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值