导入MySQL数据库模式及数据的Bash脚本(改进版本)

导入MySQL数据库模式及数据的Bash脚本(改进版本)

本文链接:http://codingstandards.iteye.com/blog/1190349

 

Bash脚本:import_db.sh

#!/bin/bash

# 脚本:import_db.sh
#
# v1: 2006-12-04
# v2: 2011-10-08/09
# v3: 2011-10-12 support for .tar.gz or .tgz
#

# 数据库连接参数
DBOPTS="-psunrise --default-character-set=gbk"

# 检查命令行参数
if [ $# -ne 2 ]; then
        echo "usage: $0 <db-name> <db-sql-dir>"
        echo "usage: $0 <db-name> <db-tgz-file>"        # 2011.10.12
        exit 1
fi

# 打印当前时间的函数
now()
{
        date "+%F %T.%N"
}

# 保存命令行参数
DB=$1
DIR_OR_TGZ=$2   # 2011.10.12 有可能是.tar.gz或.tgz文件
DIR=${DIR_OR_TGZ%.tar.gz}
DIR=${DIR%.tgz}
if [ "$DIR_OR_TGZ" != "$DIR" ]; then
        if [ ! -d "$DIR" ]; then
                echo "$(now)  uncompress $DIR_OR_TGZ ..."
                tar zxvf "$DIR_OR_TGZ" -C "$(dirname "$DIR_OR_TGZ")"
                echo "$(now)  ok."
        fi
fi

# 到sql文件所在目录
cd "$DIR" || exit 2

# 如果没有数据文件就退出
if [ ! "$(ls *.sql 2>/dev/null)" ]; then
        if [ -d "$DB" ]; then   # 2011.10.12 如果有DB子目录,进入
                cd "$DB" || exit 2
                if [ ! "$(ls *.sql 2>/dev/null)" ]; then
                        echo "$0: no *.sql found in $(pwd)"
                        exit 3
                fi
        else
                echo "$0: no *.sql found in $(pwd)"
                exit 3
        fi
fi

# 创建数据库
#2006.12.11
#第一种语法在5.0下支持
#第二种语法可用于其他版本
#肯定只有一个能执行成功
echo "$(now)  create database $DB if not exists"
mysql $DBOPTS <<EOF
CREATE DATABASE IF NOT EXISTS $DB CHARACTER SET gbk COLLATE gbk_chinese_ci;
EOF
mysql $DBOPTS <<EOF
CREATE DATABASE IF NOT EXISTS $DB;
EOF

# 执行导入
doit()
{
        echo "$(now)  import to $DB ..."
        for f in *.sql;
        do
                echo "$(now)  import $f ..."
                mysql $DBOPTS $DB < $f
                echo "$(now)  ok."
        done
        echo "$(now)  done."
}

# main
doit 2>&1 | tee -a import_db.log

# END.

 

使用实例

[root@liunx0918 mysql]# ./import_db.sh
usage: ./import_db.sh <db-name> <db-sql-dir>
usage: ./import_db.sh <db-name> <db-tgz-file>

[root@liunx0918 mysql]# ./import_db.sh imx /root/backup/db20111012094304.tar.gz
2011-10-12 09:55:15.539624750  uncompress /root/backup/db20111012094304.tar.gz ...
db20111012094304/
db20111012094304/imx/
db20111012094304/imx/imx_email_verify.sql
db20111012094304/imx/imx_support_guest.sql
db20111012094304/imx/imx_initial_info.sql
db20111012094304/imx/imx_candidate_set_type.sql
db20111012094304/imx/imx_blog_info.sql
db20111012094304/imx/imx_address_book.sql
db20111012094304/imx/imx_account_info.sql
db20111012094304/imx/imx_blog_guest.sql
db20111012094304/imx/imx_notice_info.sql
db20111012094304/imx/imx_stat_account.sql
db20111012094304/imx/imx_invite_code.sql
db20111012094304/imx/imx_file_inbox.sql
db20111012094304/imx/imx_candidate_type.sql
db20111012094304/imx/imx_friend_info.sql
db20111012094304/imx/imx_contact_detail.sql
db20111012094304/imx/imx_organ_info.sql
db20111012094304/imx/imx_score_info.sql
db20111012094304/imx/imx_support_website.sql
db20111012094304/imx/imx_online_info.sql
db20111012094304/imx/imx_file_info.sql
db20111012094304/imx/imx_staff_info.sql
db20111012094304/imx/imx_mobile_verify.sql
db20111012094304/imx/imx_candidate_score.sql
db20111012094304/imx/imx_account_score.sql
db20111012094304/imx/imx_support_account.sql
db20111012094304/imx/imx_table_usage.sql
db20111012094304/imx/imx_invite_mail.sql
db20111012094304/imx/imx_chat_info.sql
db20111012094304/imx/imx_notice_file.sql
db20111012094304/imx/imx_candidate_staff.sql
db20111012094304/imx/imx_notice_target.sql
db20111012094304/imx/imx_contact_info.sql
db20111012094304/imx/imx_candidate_set_staff.sql
db20111012094304/imx/imx_voter_staff.sql
db20111012094304/imx/imx_account_invite.sql
db20111012094304/imx/imx_chat_submit.sql
db20111012094304/imx/imx_support_group.sql
db20111012094304/imx/imx_dept_info.sql
db20111012094304/imx/imx_voter_type.sql
db20111012094304/imx/imx_friend_group.sql
db20111012094304/imx/imx_chat_deliver.sql
db20111012094304/imx/imx_voter_voted.sql
db20111012094304/imx/imx_voter_candidate.sql
db20111012094304/export_db.log
2011-10-12 09:55:15.691899106  ok.
2011-10-12 09:55:15.697114176  create database imx if not exists
2011-10-12 09:55:15.706611417  import to imx ...
2011-10-12 09:55:15.707964932  import imx_account_info.sql ...
2011-10-12 09:55:22.511765873  ok.
2011-10-12 09:55:22.512824271  import imx_account_invite.sql ...
2011-10-12 09:55:22.595701407  ok.
2011-10-12 09:55:22.597295499  import imx_account_score.sql ...
2011-10-12 09:55:22.626224528  ok.
2011-10-12 09:55:22.627742229  import imx_address_book.sql ...
2011-10-12 09:55:22.657232257  ok.
2011-10-12 09:55:22.658800696  import imx_blog_guest.sql ...
2011-10-12 09:55:22.685601903  ok.
2011-10-12 09:55:22.687303659  import imx_blog_info.sql ...
2011-10-12 09:55:22.713716619  ok.
2011-10-12 09:55:22.715360744  import imx_candidate_score.sql ...
2011-10-12 09:55:22.756770527  ok.
2011-10-12 09:55:22.758363084  import imx_candidate_set_staff.sql ...
2011-10-12 09:55:22.806626651  ok.
2011-10-12 09:55:22.808177474  import imx_candidate_set_type.sql ...
2011-10-12 09:55:22.834132030  ok.
2011-10-12 09:55:22.835702009  import imx_candidate_staff.sql ...
2011-10-12 09:55:22.864735561  ok.
2011-10-12 09:55:22.866387560  import imx_candidate_type.sql ...
2011-10-12 09:55:22.898687218  ok.
2011-10-12 09:55:22.900264364  import imx_chat_deliver.sql ...
2011-10-12 09:55:25.539170115  ok.
2011-10-12 09:55:25.540288016  import imx_chat_info.sql ...
2011-10-12 09:55:28.562270338  ok.
2011-10-12 09:55:28.563371201  import imx_chat_submit.sql ...
2011-10-12 09:55:29.582725333  ok.
2011-10-12 09:55:29.583792000  import imx_contact_detail.sql ...
2011-10-12 09:55:31.739669903  ok.
2011-10-12 09:55:31.741277743  import imx_contact_info.sql ...
2011-10-12 09:55:31.782839587  ok.
2011-10-12 09:55:31.784411855  import imx_dept_info.sql ...
2011-10-12 09:55:31.810571330  ok.
2011-10-12 09:55:31.812144210  import imx_email_verify.sql ...
2011-10-12 09:55:31.845733083  ok.
2011-10-12 09:55:31.847350977  import imx_file_inbox.sql ...
2011-10-12 09:55:32.018435504  ok.
2011-10-12 09:55:32.019571222  import imx_file_info.sql ...
2011-10-12 09:55:32.223091461  ok.
2011-10-12 09:55:32.224817994  import imx_friend_group.sql ...
2011-10-12 09:55:32.281588849  ok.
2011-10-12 09:55:32.283117465  import imx_friend_info.sql ...
2011-10-12 09:55:32.352469737  ok.
2011-10-12 09:55:32.353599725  import imx_initial_info.sql ...
2011-10-12 09:55:32.768651908  ok.
2011-10-12 09:55:32.769782898  import imx_invite_code.sql ...
2011-10-12 09:55:33.727045807  ok.
2011-10-12 09:55:33.728694536  import imx_invite_mail.sql ...
2011-10-12 09:55:33.770391648  ok.
2011-10-12 09:55:33.771906349  import imx_mobile_verify.sql ...
2011-10-12 09:55:33.802596093  ok.
2011-10-12 09:55:33.804146300  import imx_notice_file.sql ...
2011-10-12 09:55:33.837360778  ok.
2011-10-12 09:55:33.838869549  import imx_notice_info.sql ...
2011-10-12 09:55:33.871463636  ok.
2011-10-12 09:55:33.873102290  import imx_notice_target.sql ...
2011-10-12 09:55:33.904068780  ok.
2011-10-12 09:55:33.905662507  import imx_online_info.sql ...
2011-10-12 09:55:33.964979634  ok.
2011-10-12 09:55:33.966095908  import imx_organ_info.sql ...
2011-10-12 09:55:34.040437248  ok.
2011-10-12 09:55:34.042039511  import imx_score_info.sql ...
2011-10-12 09:55:34.085358393  ok.
2011-10-12 09:55:34.086935599  import imx_staff_info.sql ...
2011-10-12 09:55:34.122942442  ok.
2011-10-12 09:55:34.124487621  import imx_stat_account.sql ...
2011-10-12 09:55:34.317791382  ok.
2011-10-12 09:55:34.318910362  import imx_support_account.sql ...
2011-10-12 09:55:34.415522781  ok.
2011-10-12 09:55:34.417132697  import imx_support_group.sql ...
2011-10-12 09:55:34.443188764  ok.
2011-10-12 09:55:34.444804092  import imx_support_guest.sql ...
2011-10-12 09:55:34.517196246  ok.
2011-10-12 09:55:34.518350658  import imx_support_website.sql ...
2011-10-12 09:55:34.601287105  ok.
2011-10-12 09:55:34.602892014  import imx_table_usage.sql ...
2011-10-12 09:55:34.630632566  ok.
2011-10-12 09:55:34.632244462  import imx_voter_candidate.sql ...
2011-10-12 09:55:34.659212229  ok.
2011-10-12 09:55:34.660774478  import imx_voter_staff.sql ...
2011-10-12 09:55:34.686763371  ok.
2011-10-12 09:55:34.688372574  import imx_voter_type.sql ...
2011-10-12 09:55:34.715961108  ok.
2011-10-12 09:55:34.717619823  import imx_voter_voted.sql ...
2011-10-12 09:55:34.743695710  ok.
2011-10-12 09:55:34.745283607  done.
[root@liunx0918 mysql]# 

 

相关博文

【1】导出MySQL数据库模式及数据的Bash脚本

【2】我使用过的Linux命令之mysql - MySQL客户端命令行工具

【3】Bash中使用MySQL导入导出CSV格式数据

【4】导入MySQL数据库模式及数据的Bash脚本(v2)

 

 

 

Bash语言的数据库交互 Bash(Bourne Again SHell)是一种Unix Shell,提供命令行界面,用户可以通过它与操作系统进行交互。Bash支持命令的自动化处理及脚本编写,使得反复执行的任务变得简单快捷。它广泛应用于系统管理、自动化任务、数据处理等领域。 阅读详情

相关推荐

机器学习——Anaconda下载安装教程

Anaconda详细下载安装教程

2401_83693485的博客 3064

使用mysql shell 导入数据

使用mysql shell 导入数据

xiangzaixiansheng的博客 1762

项目管理中 PMO 的关键职能解析

在企业数字化转型与战略落地的浪潮中,PMO(Project Management Office,项目管理办公室)逐渐从“项目辅助角色”升级为“组织级战略执行中枢”。然而,多数人对PMO的认知仍停留在“管项目的部门”或“文档审核机器”的层面。本文将打破误解,通过生活化类比(如“中枢神经”“导航系统”)、流程图解(战略对齐循环)、实际案例(制造企业PMO升级),深入解析PMO的五大核心职能:战略对齐、流程标准化、资源管理、绩效监控、知识沉淀。最终揭示PMO的本质——

项目管理的博客 1250

Linux下导入SQL文件

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33709364的博客 827

Gelsight Sensor 重建 height-map —— 使用 DST-II 算子的快速泊松求解

Gelsight Sensor 重建 height-map —— 使用 DST-II 算子的快速泊松求解 gelsight gelsight传感器具有软弹性体的接触表面,可以精确的重建物体形状还可以从传感器的变形推断接触力和滑动. 使用 DST-II 算子的快速泊松求解 height 文章:GelSight: High-Resolution Robot Tactile Sensors for Estimating Geometry and Force 文章最后求解的方程其实是: p=∂2u∂x2+∂

qq_42236622的博客 1241

高速SerDes均衡技术解析

均衡技术是高速SerDes链路中补偿信道损耗和失真的核心技术,通过FFE、CTLE和DFE三种主要方法对抗码间干扰(ISI)。FFE在发射端预补偿前光标干扰,CTLE通过提升高频增益补偿信道损耗,DFE则精准消除后光标干扰。三种技术各具优势:FFE实现简单且不放大噪声,CTLE功耗低易于集成,DFE能自适应调整且保持信噪比。这些技术协同工作可有效提升系统传输速率和可靠性。

一只豌豆象的博客 1947

批量导入sql文件(shell脚本)

内容如下: #!/bin/bash p="/tmp" dbUser='root' dbPassword='123' dbName='zh' cd $p; for f in `ls $p/*.sql` do echo $f; mysql -u $dbUser -p$dbPassword -f $dbName -e "source $f"; mv $f $f.done; don

道常无为 6097

Ubuntu+Dify实战:如何让大模型知识库完美支持图片召回(附避坑指南)

本文详细介绍了在Ubuntu系统上部署Dify平台,并实现大模型知识库图片召回功能的完整实战方案。通过解析Dify处理图片的底层逻辑,重点讲解了配置Nginx代理服务器将本地图片路径转换为可公开访问URL的核心工程步骤,并提供了文档预处理、环境变量配置以及父子分段策略等高级技巧,帮助开发者构建图文并茂的AI应用,有效提升知识库的丰富性和用户体验。

c7d8e的博客 445

Linux下如何执行Shell脚本

Linux下如何执行Shell脚本Linux下你可以有两种方式执行Shell脚本:1、用shell程序执行脚本:根据你的shell脚本的类型,选择shell程序,常用的有sh,bash,tcsh等(一般来说第一行#!/bin/bash里面指明了shell类型的,比如#!/bin/bash指明是bash,#!/bin/sh则是sh);然后输入命令(其中bash为shell的名称...

weixin_34040079的博客 562

ADS与MATLAB数据互通全指南:从Snp文件导入到TXT导出完整流程

本文详细介绍了在射频与微波工程中,实现ADS与MATLAB高效数据互通的完整流程。核心内容包括利用SPOutput控件、数据显示窗口及测量方程等多种方法,将ADS仿真数据(如S参数)导出为Touchstone或TXT格式,并导入MATLAB进行深度分析与可视化;同时指导如何将MATLAB处理后的数据回灌至ADS,用于模型验证与协同仿真,旨在构建自动化、无损的数据交换工作流,提升工程师的工作效率。

pluto的博客 390

ESP32与INMP441麦克风模块实现音频传输

ESP32是一款低成本、低功耗的物联网开发板,支持Wi-Fi和蓝牙双模通信,内置双核处理器,适合音频处理和实时数据传输。INMP441是一款高性能数字麦克风模块,支持I2S接口,可提供高精度音频数据采集(24-bit分辨率,64-100 dB SNR)。

走向CTO的路上... 2039

linux mysql 导入数据库脚本_导入MySQL数据库模式及数据的Bash脚本(改进版本)

导入MySQL数据库模式及数据的Bash脚本(改进版本)Bash脚本:import_db.sh#!/bin/bash# 脚本:import_db.sh## v1: 2006-12-04# v2: 2011-10-08/09# v3: 2011-10-12 support for .tar.gz or .tgz## 数据库连接参数DBOPTS="-psunrise --default-charact...

weixin_39531834的博客 600

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

mysql数据库:使用 bash脚本 + 定时任务 自动备份数据

mysql数据库:使用 bash脚本 + 定时任务 自动备份数据

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 2万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Linux的shell脚本:如何用bash脚本从mysql数据库中直接读取用户数据,并直接显示出来(一条命令查看数据库信息)

在进行视频监控平台的录像点播功能测试的时候,发现客户量增加到几千个的时候,会出现一些问题。这个时候,经常需要查看用户表,进入mysql命令行,非常麻烦。需要一个命令就可以查看用户相关数据。使用linux的bash脚本是一个比较便捷的方法。 在Linux的Bash脚本中,可以使用MySQL的命令行接口(CLI)提供的所有功能。这意味着可以执行几乎所有的MySQL操作,包括数据库管理、数据查询、数据修改、权限管理等。编写脚本时,确保处理用户输入和数据库操作时要小心,以避免SQL注入攻击和其他安全问题。

weixin_70208651的博客 1564

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Mysql数据库管理脚本

前言 测试环境 系统:cenros7 数据库版本: Mysql5.7 功能介绍 列出所有库使用情况 【数据库 记录数 数据容量(MB) 索引容量(MB) 】 列出所有表的使用情况 【数据库 表名 记录数 数据容量(MB) 索引容量(MB)】 导出库和表的所有数据到当前脚本路径 导出指定表的所有数据到当前脚本 自定义创建一个新库,导入还原指定库或者表的备份数据 退出脚本 #!/bin/bash #作用:Mysql数据库管理小脚本 #日期:2020-12-23 read -

King config 9842

将mysql binlog导入到数据库

为什么80%的码农都做不了架构师?>>> ...

weixin_34232363的博客 2673

使用bash将csv文件数据读写到MySQL数据库的脚本之一

 情景: 有一个包含多个系的学生详细信息的csv文件,需要将文件的内容插入到一个数据表中,保证每一个系生成一个单独的排名列表。 学习信息表 studentdata.csv 文件的数据如下: 1,Navin M,98,CS 2,Kavya N,70,CS 3,Nawaz O,80,CS 4,Hari S,80,EC 5,Alex M,50,EC 6,Neenu J,70,EC 7

yumushui的专栏 3537

Bash语言的数据库编程

Bash(Bourne Again SHell)是GNU项目的一部分,是Linux和macOS环境中最常用的命令行解释器。Bash支持命令的执行、脚本的编写和程序的自动化,尽管它并不是专为数据库操作设计的,但凭借其强大的文本处理能力,Bash在数据库管理方面也展现出了独特的优势。

2501_90183910的博客 830

mysql导入所有数据库_一次导出和导入所有MySQL数据库

一次导出和导入所有MySQL数据库我想保留所有MySQL数据库的备份。 我有超过100个MySQL数据库。 我想同时导出所有这些,并再次将所有这些导入我的MySQL服务器。 我怎样才能做到这一点?8个解决方案641 votes出口:mysqldump -u root -p --all-databases > alldb.sql查找mysqldump的文档。 您可能想要使用评论中提到的一些选项...

weixin_36237278的博客 1093

linux的bash脚本:通过脚本编程来实现访问数据库表,并从ftp服务器上下载指定的文件

Bash(Bourne-Again SHell)是Linux和Unix系统中广泛使用的一种命令行解释器,它是Bourne shell(sh)的一个增强版本。Bash脚本是一种基于Bash的脚本编程语言,它允许用户编写包含一系列命令的脚本,以便自动化执行常见的任务、管理操作系统、进行数据处理等。要连接 MySQL 数据库,从 数据库表中查询 ImageID 的 图片位置 字段值(即图片在 FTP 服务器上的位置),然后使用 ftp 工具将该图片下载到本地 指定目录。若采用ftps, lftp 中启用 SSL。

weixin_70208651的博客 1220

bash mysql 循环输出_导出MySQL数据库模式及数据的Bash脚本 真的很好用!

导出MySQL数据库模式及数据的Bash脚本Bash脚本文件:export_db.sh#!/bin/sh# export_db.sh# 导出数据库模式及数据# codingstandards@gmail.com# v1: 2010-05-23# v2: 2011-10-08/09# 命令使用说明# 从标准输入读取数据库名称和表名称# usage: export_db.sh# usage: expo...

weixin_35595485的博客 269
上一篇: 导入MySQL数据库模式及数据的Bash脚本 (导出的姊妹篇)
下一篇: POSIX.2正则表达式说明(确认一个正则表达式是否正确的唯一方法就是去测试它)...
codingstandards
博客等级 码龄16年 12粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值