温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

批量创建数据库和批量数据恢复

发布时间:2020-07-31 16:08:04 来源:网络 阅读:918 作者:GoDevops 栏目:数据库

      近期公司有一个数据库需要迁移,但是里面创建的数据库比较多,我们采取脚本将库单独备份,然后上传到另一台主机,新建数据库,然后恢复数据库。将自己写的几个小脚本粘贴到此,

分库压缩备份

#/bin/sh
#version 0.1
MYUSER=mysqlback
MYPASS=databack@162.com
#SOCKET=/data/3306/mysql.sock
MYLOGIN="mysql -u$MYUSER -p$MYPASS "
MYDUMP="mysqldump -u$MYUSER -p$MYPASS  -B"
DATABASE="$($MYLOGIN -e "show databases;"|egrep -vi "Data|_schema|mysql")" #正则

for dbname in $DATABASE
  do
   MYDIR=/data/backup/$dbname
   [ ! -d $MYDIR ] && mkdir -p $MYDIR
 $MYDUMP $dbname|gzip >$MYDIR/${dbname}_$(date +%F).sql.gz
done

批量解压缩

#/bin/bash

for  i  in `ls  *.gz`
  do  gunzip  $i 
done

解压结果:
wl_smsgate_2017-04-12.sql       
wl_smsgate_hx_2017-04-12.sql   
wl_smsgate_ldkj_2017-04-12.sql 
wl_smsgate_tt_2017-04-12.sql
wl_smsgate_dg_2017-04-12.sql    
wl_smsgate_jjbs_2017-04-12.sql  
wl_smsgate_pc_2017-04-12.sql    
wl_smsgate_tt_lt_2017-04-12.sql     
wl_smsgate_dxfj_2017-04-12.sql  
wl_smsgate_jl_2017-04-12.sql    
wl_smsgate_sb_2017-04-12.sql

批量创建数据库

#/bin/bash
#fun create  database
mysqluser=root
mysqlpass=winnerlook123
mysqlcent="mysql -u $mysqluser -p$mysqlpass"
dabasename=`cat databasename`
date2="_2017-04-12.sql"
for   data  in  $dabasename
do 

 
$mysqlcent -e "create  database  if not exists $data default character  set utf8"


done

恢复数据

#/bin/bash
#fun create  database
mysqluser=root
mysqlpass=winnerlook123
mysqlcent="mysql -u $mysqluser -p$mysqlpass"
dabasename=`cat databasename`
date2="_2017-04-12.sql"
for   data  in  $dabasename
do 

 $mysqlcent -e "use  $data  " && $mysqlcent -e " source   /tmp/backup/$data$date2 "#恢复数据

done

然后检查数据库的数据字符集以及其数据条数。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI