mysql load data导入脚本
# !/bin/bash ############中文说明######################
#本程序的一些提示需要中文支持,如系统没有安装中文包,请先安装:yum -y groupinstall chinese-support ############使用说明######################
#.运行本程序之前,有几个注意事项,数据库的表需要实现创建好,字段要和源文件的字段一一对应
#.本程序需要一些参数,示例:./script.sh /tmp/test.txt table_name ,
#.上述示例中:script.sh是程序文件名,/tmp/test.txt是源文件,table_name是数据库的表名,","是源文件中的字段分隔符
#.此程序算是version_1.0版本,功能较简单,如果有下版本,将加入源文件的切割功能,正在测试文件切割的性能
#.此外,还需要一些参数需要在程序中指定,比如mysql的账户和密码,还有具体数据库实例
########################################## MysqlUser=root #指定mysql的账户
MysqlPass= #指定mysql的密码
sourcefile=$
targetfile=$
db=mytest #指定数据库实例 if [ -z "$3" ];then
delimit=","
else
delimit=$
fi MysqlCmd="mysql -u$MysqlUser -p$MysqlPass $db"
#LoaddataCmd="LOAD DATA LOW_PRIORITY LOCAL INFILE '$sourcefile' IGNORE INTO TABLE $targetfile CHARACTER SET utf8 FIELDS TERMINATED BY '$delimit';" [ -z "$sourcefile" ]&&{
echo '没有指定源文件...'
exit
} [ -z "$targetfile" ]&&{
echo '没有指定数据库的表...'
exit
} if [ ! -f "$sourcefile" ]; then
echo "源文件不存在,请检查!程序结束..."
sleep
exit
fi echo -n "运行此程序前,请确认源文件为[${sourcefile}],目标数据库表为[${targetfile}],分隔符为[${delimit}](未指定则默认为\",\"): "
read -n -p "(y/n)? " anw
if [ "$anw" = y ];then
echo ""
echo "程序继续,正在处理,请等待..."
elif [ "$anw" = n ];then
echo ""
echo "程序已结束..."
exit
else
echo ""
echo "选择错误,程序将结束,请重新运行程序,并输入(y/n)"
exit
fi echo "正在统计文件大小!请等待..."
sleep ;
echo "..." {
file_size=`du -sh $sourcefile |awk '{print$1}'`
}&&{
echo "[${sourcefile}]文件大小为:$file_size"
} sleep ;
echo "..."
echo "正在导入..." seconds_1=$(date +%s)
$MysqlCmd -e "LOAD DATA LOW_PRIORITY LOCAL INFILE '$sourcefile' IGNORE INTO TABLE $targetfile CHARACTER SET utf8 FIELDS TERMINATED BY '$delimit';"
seconds_2=$(date +%s) if [ $? -eq ]; then
echo "导入完成!"
echo "耗时: `expr $seconds_2 - $seconds_1`秒"
exit
else
echo "导入未完成,请检查错误!"
exit
fi

mysql load data导入脚本的更多相关文章
- java 执行 shell脚本通过mysql load data导入数据
1:load_data_test.sh #!/bin/sh load_data_log=/mnt/load_data_test/load.log load_sql="LOAD DATA LO ...
- MySQL Load Data InFile 数据导入数据库
常用如下: Load Data InFile 'C:/Data.txt' Into Table `TableTest` Lines Terminated By '\r\n'; 这个语句,字段默认用制表 ...
- Mysql load data infile 导入数据出现:Data truncated for column
[1]Mysql load data infile 导入数据出现:Data truncated for column .... 可能原因分析: (1)数据库表对应字段类型长度不够或修改为其他数据类型( ...
- mysql load data 乱码的问题
新学mysql在用load data导入txt文档时发现导入的内容,select 之后是乱码,先后把表,数据库的字符集类型修改为utf8,但还是一样,最后在 http://bbs.chinaunix. ...
- mysql load data infile的使用 和 SELECT into outfile备份数据库数据
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE t ...
- 解决ubuntu server mysql load data infile 导入本地文件ERROR 1148 (42000)错误。
问题:在ubuntu server 上使用apt-get 安装完 mysql 使用 load data infile 出现错误,错误代码如下: ERROR (): The used command i ...
- 【转载】Mysql load data infile用法(万级数据导入,在几秒之内)
https://blog.csdn.net/u014082714/article/details/53173975 http://blog.itpub.net/26506993/viewspace-2 ...
- MySQL LOAD DATA INFILE—批量从文件(csv、txt)导入数据
最近做的项目,有个需求(从Elastic Search取数据,业务运算后),每次要向MySQL插入1300万数据左右.最初用MySQL的executemany()一次插入10000条数据,统计的时间如 ...
- Mysql load data infile 命令导入含中文csv源数据文件 【错误代码 1300】
[1]Load data infile 命令导入含中文csv源数据文件 报错:Invalid utf8 character string: '??֧' (1)问题现象 csv格式文件源数据: 导入SQ ...
随机推荐
- ubuntu 12.04 rails server 时候报错 execjs
新的应用创建好了,使用rails server启动看看,oops!原来是没有javascript运行环境. 1 2 $ rails server /usr/local/lib/ruby/gems/1 ...
- 关于Cocos2d-x中增加暂停按钮的步骤
1.在GameScene.cpp的init方法中先定义一个里面放着可变换并在变换的时候会响应事件的MenuItem的Menu,这个Menu里面的可变换MenuItem又由两个小MenuItem组成,每 ...
- PHP 初探
由于不可描述的原因,需要运行一个PHP项目,折腾了半天却无甚效果---概念缺失. 一怒之下,决定还是先了解下PHP本身再说.先得感谢下W3School,介绍简洁明了. PHP是脚本语言! PHP不需要 ...
- Spring细粒度控制扫描Bean
接Spring 依赖注入(DI)的注解 <context:component-scan base-package="" resource-pattern="**/* ...
- 图像处理之3d算法----2d转3d算法介绍
http://www.3dov.cn/html/c/37/index.html http://news.ifeng.com/a/20151117/46275220_0.shtml 磁力矩阵 http: ...
- 【问题】报错[CRITICAL] Rendering SLS 'base:minions.install' failed: Jinja variable 'list' object has no element 0
1.报错[CRITICAL] Rendering SLS 'base:minions.install' failed: Jinja variable 'list' object has no elem ...
- 教你如何架设linux邮件服务器postfix
检查linux是否有安装postfix和dovecot 检查命令如下: Rpm -qa |grep postfix; Rpm –qa |grep dovecot; 如果没有显示任何数据,表明没有安 ...
- OpenGL介绍
OpenGL是一个开放的三维图形软件包,它独立于窗口系统和操作系统,以它为基础开发的应用程序可以十分方便地在各种平台间移植:OpenGL可以与Visual C++紧密接口,便于实现机械手的有关计算和图 ...
- [转]anchorPoint 锚点解析
转自:http://blog.csdn.net/cjopengler/article/details/7045638 anchor point 究竟是怎么回事? 之所以造成不容易理解的是因为我们平时看 ...
- MathType在手,公式不求人!
很多论文达人们的论文排版是相当漂亮的,页面也非常整齐美观,即使是理工类的论文,里面有很多的数学符号和公式,排版也是非常整洁,为什么达人们的公式论文能排版的这么完美,而自已却总是不得其门而入,最后只好救 ...