由于近来需要从其它机器拉一堆数据到一台机器上做数据分析,由于涉及到数据库比较,数据也不大不小的,要手工一个一倒腾真是累的半死,于是弄了个脚本
实现功能,根据指定文件下的数据库文件命令格式,
str=1234_`date +%y%m%d%H%M`.gz
echo "开始备份..."`date`
mysqldump -uroot -pxxxxxx--quick --add-drop-table --extended-insert qeedoo | gzip > $str
echo "备份完毕..."`date`
这是相关的数据库备份脚本由于名称的有一个特点即_`date +%y%m%d%H%M`.gz从_开始后面的都相同,前面的话有纯数字的组成也有字母跟数字,数字与字母。
因为涉及到mysql的问题,即mysql不能以纯数字的命令一个数据库,所以操作步骤如下:
一、提取相关数据库备份文件的名称
二、以纯数字为前缀的给他加上后缀com
二、创建数据库导入数据
由于以前手工导过数据,但这些数据都没有用了,所以现在需要先批量drop相关库
for i in `cat mysqldata`
do
mysql   -u   root   <<QUERY_SQL
         DROP      DATABASE    IF         EXISTS     $i;
QUIT  
QUERY_SQL
done
从mysqldata文件里取到相关数据库的名,如果存在删掉,记得如果需要保留的数据库需要拿掉不在放在mysqldata文件里,这里面的数据库是show databases 出来的
好了进入正题。
echo "type  your data path!"
read path
for sqldata in `ls $path`
gunzip $sqldata
do
str=`echo ${sqldata%_*}`  #取_之前的字符串
name=`echo ${sqldata%.*}` #把.gz后缀去掉
echo $str #打印正在处理的数据库 
expr $str + 0 1>/dev/null 2>1 #用_之前的字符串进行expr运算
if [ $? -eq 0 ];then #通过判断返回值确认_之前的字符串是否为纯数字
str1=${str}com #为数字时添加后缀com
else   
str1=${str}
fi          
#进入mysql处理
mysql   -u   root   <<QUERY_SQL  
#如果有密码可以用mysql -uroot -pxxxx <<QUERY_SQL
DROP      DATABASE    IF         EXISTS     $str1;
        create database   $str1;
        use $str1;
        source $path/$name;
QUIT  
QUERY_SQL
#echo $$   #打印出正在运行的进程号如果不小心进入了死循环直接kill -9 该进程号就可以了当然也可以用ps -ef过滤出来看
done
记得由于是直接处理字符串的,在进入的path目录里只允许有相关的数据库文件,因为如你在该目录下建了a b之类的该脚本也会例行处理

mysql批量创建数据库 导数据相关推荐

  1. MySQL:创建数据库,数据表,主键和外键

    目录 前言: 安装MySQL: 打开MySQL: 创建数据库: 查看已建数据库: 查看数据库引擎: 创建数据表: 主键约束: 单字段主键: 多字段联合主键: 外键约束: 前言: MySQL数据库安装了 ...

  2. 【Linux】-- Mysql(2) : 创建数据库和数据表

    系统环境 Ubuntu 14.04 64位版本 顺便说一下,mysql 中是不区分大小写的,所以随意而为就行了,不过上网查了大部分老成的都会说特殊语句还是用大写的比较好呢 准备 # 打开 mysql ...

  3. python如何修改excel数据库_python学习笔记-day7-2-【python从mysql数据库导数据到excel,读excel,修改excel】...

    这节说下如何用python把数据库里的数据导出到excel里,并如何读取excel, 修必excel等操作. 一.用python把数据库里的数据导出到excel里 1.导入如下的模块,没有的话需要安装 ...

  4. solr使用网页浏览器批量导入数据库中数据(本案例是mysql)

    如果想要知道如何安装solr,集成IKAnalyzer中文分词器,批量导入数据库数据,java使用参照以下本博主博文: 安装solr https://blog.csdn.net/u013294097/ ...

  5. 在MySQL中如何用SQL命令创建数据库及数据表

    HRELLO 大家好! 上期给大家讲解了,MySQL数据库常用的管理命令.现在,给大家讲解,如何用SQL命令在MySQL中创建一个数据库及数据表. 在学习前,我们首先要了解,SQL命令是什么? SQL ...

  6. MySQL 快速批量创建千万条数据 千万级数据

     MySQL 快速批量创建千万条数据 千万级数据 一.实现思路 1.创建一张users表,数据库引擎调整为: MyISAM 2.使用存储过程实现,用循环语句,批量插入1kw次.( WHILE ... ...

  7. MySQL——创建数据库和数据表

    创建数据库和数据表 (1)创建数据库相关代码 create database test; #创建数据库 show create database test; #查看创建好的test数据库 show d ...

  8. MySQL创建数据库和数据表

    文章目录 前言 一.MySQL数据库是什么? 二.使用步骤 1.显示当前数据库 2.创建数据库 3.使用数据库 4.删除数据库 5.表的操作 5.1 显示数据库中的表 5.2 创建表 5.3 删除表 ...

  9. MYSQL批量插入数据库实现语句性能分析

    MYSQL批量插入数据库实现语句性能分析 假定我们的表结构如下 代码如下   CREATE TABLE example ( example_id INT NOT NULL, name VARCHAR( ...

最新文章

  1. 协方差中的正相关与负相关 指的是线性代数中的线性相关
  2. Shell数组:shell数组的定义、数组长度
  3. 切图工具优化的几点总结
  4. 水果电池打造柠檬电动汽车!
  5. C# 语法练习(4): 类型转换
  6. api php usdt 以太坊_以太坊智能地址PHP开发包【零GAS归集ERC20】
  7. 8B/10B编码(转)
  8. 如何查阅python的官方文档
  9. 深度学习与计算机视觉教程(2) | 图像分类与机器学习基础(CV通关指南·完结)
  10. Vue2.X 计算属性
  11. Arduino开发实例-433M无线模块数据发送与接收
  12. react中prop-types的使用
  13. PHP网页的工作原理
  14. 5G技术—移动通信制式演进发展历程测试题目
  15. Apriori算法是什么?适用于什么情境?
  16. LaTex 之 数学运算符号
  17. GPS卫星运动及定位matlab仿真
  18. leetcode第六题 Z字形变换
  19. 理解torch.einsum(‘ijk,ilk->ijl‘, a,b)
  20. woocommerce对接paypal如何进行沙盒测试?

热门文章

  1. Visual Studio 2010生成SQL Server测试数据
  2. PXE实现Linux的自动安装
  3. 【百度地图API】建立全国银行位置查询系统(四)——如何利用百度地图的数据生成自己的标注...
  4. 2008年校本培训之论文 封面
  5. docker删除es数据_Docker的常用命令
  6. OpenUPF 是释放 5G 潜力的金钥匙
  7. C语言便于调试的宏定义 __FILE__、__FUNCTION__、__LINE__、__VA_ARGS__ 参数使用
  8. Go指南练习_rot13Reader
  9. jQuery中排除指定元素,同时选择剩下的所有元素
  10. Centos-6 编译安装实现LAMP,wordpress最新版