不知道大家之前对类似mysqldump批量数据脚本如何备份恢复的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完mysqldump批量数据脚本如何备份恢复mysqldump批量数据脚本如何备份恢复你一定会有所收获的。
mysqldump批量备份脚本如下:
#!/bin/bash
DATE=`date "+%Y-%m-%d-%H%M%S"`
PORT=3306
DB_NAME=`/usr/local/mysql/bin/mysql -uroot -proot -h20.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 -h20.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 < $j
echo $i
fi
done
done
执行脚本
#nohup 00createdb.sh &
看完mysqldump批量数据脚本如何备份恢复这篇文章,大家觉得怎么样?如果想要了解更多相关,可以继续关注我们的行业资讯板块。