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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

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

分库压缩备份

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#/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

批量解压缩

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#/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

批量创建数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#/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

恢复数据

1
2
3
4
5
6
7
8
9
10
11
12
13
#/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

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



本文转自 tianya1993 51CTO博客,原文链接:http://blog.51cto.com/dreamlinux/1915152,如需转载请自行联系原作者

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
SQL 数据库
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库。 SQL Server数据库出现823错误的可能原因有:数据库物理页面损坏、数据库物理页面校验值损坏导致无法识别该页面、断电或者文件系统问题导致页面丢失。
100 12
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
|
5月前
|
SQL 存储 关系型数据库
|
12天前
|
存储 数据挖掘 数据库
数据库数据恢复—SQLserver数据库ndf文件大小变为0KB的数据恢复案例
一个运行在存储上的SQLServer数据库,有1000多个文件,大小几十TB。数据库每10天生成一个NDF文件,每个NDF几百GB大小。数据库包含两个LDF文件。 存储损坏,数据库不可用。管理员试图恢复数据库,发现有数个ndf文件大小变为0KB。 虽然NDF文件大小变为0KB,但是NDF文件在磁盘上还可能存在。可以尝试通过扫描&拼接数据库碎片来恢复NDF文件,然后修复数据库。
|
15天前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
2月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。 数据库没有备份,无法通过备份去恢复数据库。用户方联系北亚企安数据恢复中心并提供Oracle_Home目录中的所有文件,急需恢复zxfg用户下的数据。 出现“system01.dbf需要更多的恢复来保持一致性”这个报错的原因可能是控制文件损坏、数据文件损坏,数据文件与控制文件的SCN不一致等。数据库恢复工程师对数据库文件进一步检测、分析后,发现sysaux01.dbf文件损坏,有坏块。 修复并启动数据库后仍然有许多查询报错,export和data pump工具使用报错。从数据库层面无法修复数据库。
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
|
2月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—异常断电导致Oracle数据库数据丢失的数据恢复案例
Oracle数据库故障: 机房异常断电后,Oracle数据库启库报错:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。数据库没有备份,归档日志不连续。用户方提供了Oracle数据库的在线文件,需要恢复zxfg用户的数据。 Oracle数据库恢复方案: 检测数据库故障;尝试挂起并修复数据库;解析数据文件。
|
2月前
|
存储 数据挖掘 数据库
服务器数据恢复—raid磁盘故障导致数据库数据损坏的数据恢复案例
存储中有一组由3块SAS硬盘组建的raid。上层win server操作系统层面划分了3个分区,数据库存放在D分区,备份存放在E分区。 RAID中一块硬盘的指示灯亮红色,D分区无法识别;E分区可识别,但是拷贝文件报错。管理员重启服务器,导致离线的硬盘上线开始同步数据,同步还没有完成就直接强制关机了,之后就没有动过服务器。
|
26天前
|
Oracle 关系型数据库 数据库
oracle数据恢复—Oracle数据库文件损坏导致数据库打不开的数据恢复案例
打开oracle数据库时报错,报错信息:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。急需恢复zxfg用户下的数据。 出现上述报错的原因有:控制文件损坏、数据文件损坏、数据文件与控制文件的SCN不一致等。数据恢复工程师对数据库文件做进一步检测分析后发现sysaux01.dbf文件有坏块。修复sysaux01.dbf文件,启动数据库依然有许多查询报错。export和data pump工具无法使用,查询告警日志并分析报错,确认发生上述错误的原因就是sysaux01.dbf文件损坏。由于该文件损坏,从数据库层面无法修复数据库。由于system和用户表空间的数据文件是正常的,
|
2月前
|
Oracle 安全 关系型数据库
Oracle数据恢复—Oracle数据库误删除的数据恢复方法探讨
删除Oracle数据库数据一般有以下2种方式:delete、drop或truncate。下面针对这2种删除oracle数据库数据的方式探讨一下oracle数据库数据恢复方法(不考虑全库备份和利用归档日志)。
|
4月前
|
SQL 小程序 数据库
数据库数据恢复—SqlServer数据库无法被读取的数据恢复案例
SQL Server数据库的数据无法被读取。 经过数据库数据恢复工程师的初步检测,发现SQL Server数据库文件无法被读取的原因是底层File Record被截断为0,无法找到文件开头,而且数据表结构也已经损坏。镜像文件的前几十M和中间一部分空间被覆盖,系统表损坏,所以无法读取。
数据库数据恢复—SqlServer数据库无法被读取的数据恢复案例