千家信息网

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

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,近期公司有一个数据库需要迁移,但是里面创建的数据库比较多,我们采取脚本将库单独备份,然后上传到另一台主机,新建数据库,然后恢复数据库。将自己写的几个小脚本粘贴到此,分库压缩备份#/bin/sh#ver
千家信息网最后更新 2025年02月01日批量创建数据库和批量数据恢复

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

分库压缩备份

#/bin/sh#version 0.1MYUSER=mysqlbackMYPASS=databack@162.com#SOCKET=/data/3306/mysql.sockMYLOGIN="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.gzdone

批量解压缩

#/bin/bashfor  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.sqlwl_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  databasemysqluser=rootmysqlpass=winnerlook123mysqlcent="mysql -u $mysqluser -p$mysqlpass"dabasename=`cat databasename`date2="_2017-04-12.sql"for   data  in  $dabasenamedo  $mysqlcent -e "create  database  if not exists $data default character  set utf8"done

恢复数据

#/bin/bash#fun create  databasemysqluser=rootmysqlpass=winnerlook123mysqlcent="mysql -u $mysqluser -p$mysqlpass"dabasename=`cat databasename`date2="_2017-04-12.sql"for   data  in  $dabasenamedo  $mysqlcent -e "use  $data  " && $mysqlcent -e " source   /tmp/backup/$data$date2 "#恢复数据done

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

0