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

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

分库压缩备份

#/bin/sh
#version 0.1
MYUSER=mysqlback
[email protected]
#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

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

时间: 2024-10-13 00:47:13

批量创建数据库和批量数据恢复的相关文章

批量创建用户与批量文件重命名

title: 批量创建用户与批量文件重命名 tags: 批量,用户,创建,重命名 批量创建用户与批量文件重命名 1. 批量创建用户 如果需要批量创建用户,且用户名为stu01-stu10,用户密码为随机的10位密码. 1.1 分析解答 如果用户名为stu01的话,我们可以采用for循环,直接变量范围为01-10,密码随机的话我们可以采用系统默认的随机变量RANDOM,因为默认的RANDOM只有5位数字,因此我们可以给它md5加密,然后取其中的8位字符当做密码.当然我们也可以不用循环,直接使用命令

基于CentOS的MySQL学习补充三--使用Shell批量创建数据库表

本文出处:http://blog.csdn.net/u012377333/article/details/47006087 接上篇介绍<基于CentOS的Mysql学习补充二--使用Shell创建数据库>,本文继续探索关于Shell和MySQL的结合使用,我不知道当一个数据库设计完成之后如何快速的创建设计好的数据库表和添加相应基本数据,我目前知道的就是使用Shell和SQL脚本来达到我的目的--快速的.多次的.可重复利用的创建数据库表. 创建一个数据库表的SQL脚本: /***********

批量创建文件,批量改名,批量删除

#使用for循环批量创建10个文件 #!/bin/sh if [ ! -d $PWD/file ] && mkdir -p $PWD/file then path=$PWD/file for count in `seq 10` do cd $path && touch linux-$count.jpg done else exit 1 fi #使用for循环批量改名 #!/bin/sh if [ -d $PWD/file ] && cd $PWD/file

使用Java中File类批量创建文件和批量修改文件名

批量创建文件 1 int cont = 1; 2 String s = "E:\\学习资料\\Java笔记-"; 3 while(cont<100){ 4 File f = new File(s+cont+".txt"); 5 if(!f.exists()){ 6 f.createNewFile(); 7 } 8 cont++; 9 } 批量修改文件名 1 File file = new File("E:\\学习资料"); 2 String

PowerShell创建虚拟机 (二、实现批量创建)

上一篇,我们大概了解到了如何用PowerShell脚本(以下简称PS或PS脚本)创建一台虚拟机,以及自定义虚拟机相关的配置,这一篇,我们一起探讨一下如何实现批量创建虚拟机. 批量创建,顾名思义,就是让脚本运行一次,创建多台虚拟机,最简单的实现方法呢,就是循环,下面我们一起来看一段代码: for($i=1;$i -le10;$i++) { $i } 这是PS脚本中最简单的循环之一,运行之后,效果如下图: 这个PS脚本的意思呢,是从1循环到10,一共10次,每次干的事情呢,就是将变量$i的结果输出到

在VMware Workstation中批量创建上千台虚拟机(下)

2 快速克隆100台Workstation虚拟机方法 在上一节的内容中,无论是创建"完全克隆"的虚拟机还是"克隆链接"的虚拟机,都是在VMware Workstation的图形界面中以向导的方式创建的,每次创建一个虚拟机都需要多个步骤才能完成.在创建的虚拟机数量有限的情况下,使用图形界面创建虚拟机还可以接受,如果需要批量创建多台虚拟机,例如创建几十台.上百台甚至上千台虚拟机时,反复的操作会让人"崩溃".本文介绍采用VMware 提供的命令行工具v

shell脚本:实现MySQL创建数据库和删除数据库的脚本

OS操作系统:CentOS release 6.8 (Final) [[email protected]]# vi createdatabase.sh     #批量创建数据库 #!/bin/sh PATH="/var/lib/mysql/bin:$PATH" MYUSER=root MYPASS=******* MYCMD="mysql  -u$MYUSER  -p$MYPASS " for dbname in  test skyboy skygirl xiaot

企业实战脚本案例2:批量创建用户并设置初始密码

批量创建用户并设置初始密码 目录: 1.脚本功能介绍 2.脚本制作技术需求 2.1 useradd命令 2.2 id命令 2.3 passwd命令 2.4 随机密码 2.5 while循环+case+select 3.脚本编写案例 一.脚本功能介绍 在企业中生产或运维中,经常会遇到VPN服务器.企业网盘.企业邮箱.云桌面私有账号等等一系列的服务器.当批量新员工入职时,经常需要批量账号分配给新员工,若此类账号存储在数据库时,管理员可根据公司账号命名规范通过专有图形化系统进行录入账号,若账号存储在系

3.12 批量创建采购订单

3.12.1   业务方案描述 在生成采购订单前,由采购员审核计划结果,根据供应商的供货状况调整供应商供货数量.供货日期. 所有合格供应商都能够通过下单平台批量下达采购订单,尽管供应商没有供货比例,或供货比例为0. 一个集成的界面,清晰的列出MRP/DRP结果,及相关辅助信息.以帮助仓管员调整计划时获得一些决策信息: 1)审核计划结果: 2)指定供应商: 3)调整计划结果: 4)批量生成采购订单: 3.12.2   业务方案逻辑控制(包含三部分) MRP建议补充程序: 1)将ASL中的该物料可供