批量创建数据库和批量数据恢复
近期公司有一个数据库需要迁移,但是里面创建的数据库比较多,我们采取脚本将库单独备份,然后上传到另一台主机,新建数据库,然后恢复数据库。将自己写的几个小脚本粘贴到此,
创新互联建站是一家集网站建设,市北企业网站建设,市北品牌网站建设,网站定制,市北网站建设报价,网络营销,网络优化,市北网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
分库压缩备份
#/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
然后检查数据库的数据字符集以及其数据条数。
分享题目:批量创建数据库和批量数据恢复
文章出自:http://scyanting.com/article/gdsppo.html