免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3454 | 回复: 11
打印 上一主题 下一主题

怎么获取目录名,然后导入数据到mysql? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-02 17:00 |只看该作者 |倒序浏览
本帖最后由 xinjingcool 于 2011-08-02 17:20 编辑

有10个目录,每个目录里有多个gz文件(mysql dump 文件),现在要获取目录名,解压目录里的gz文件,
#把每个目录中的数据文件导入对应的数据库中:

create database  目录名

mysql -u root -p123456    目录名 <    目录名.sql

mysqlimport -u root -p123456  目录名 -L *.txt


最后删除这个目录


这个shell大概怎么写呢,谢谢!

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
2 [报告]
发表于 2011-08-02 17:06 |只看该作者
find . -type f -name "*.gz"|xargs -n1 gzip -d

有空看看?
http://bbs.chinaunix.net/thread-452942-1-1.html

论坛徽章:
0
3 [报告]
发表于 2011-08-02 17:25 |只看该作者
回复 2# waker


    谢谢!可能我没写清楚,原文又编辑了一下,能不能在看看,呵呵

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
4 [报告]
发表于 2011-08-03 08:15 |只看该作者
不清楚你的sql 文件是哪里来的,可能是 gunzip后产生的,请说明
  1. find . -type d |while read folder
  2. do
  3.   # 解压该目录下的gz 文件
  4.   gunzip $folder/*.gz
  5.   fname=${folder##*/}

  6.   create database $fname

  7.   mysql -u root -p123456   $fname <    fname.sql

  8.   mysqlimport -u root -p123456  $fname -L *.txt
  9. done
复制代码

论坛徽章:
0
5 [报告]
发表于 2011-08-03 08:34 |只看该作者
本帖最后由 xinjingcool 于 2011-08-03 08:55 编辑

对啊,folder是什么变量,没找到相关资料啊

论坛徽章:
0
6 [报告]
发表于 2011-08-03 10:14 |只看该作者
本帖最后由 rdcwayx 于 2011-08-03 10:33 编辑
  1. #!/bin/sh
  2. find . -type d | while read folder
  3. do
  4.     gunzip $folder/*.gz
  5.     fname=${folder##*/}
  6. MYSQL_CMD="mysql -u root -pxxxxxx"
  7. create_db_sql="create database $fname"
  8. echo ${create_db_sql} | ${MYSQL_CMD}
  9. mysql -u root -pxxxxxx   $fname <  fname.sql
  10. mysqlimport -u root -pxxxxxx --fields_escaped_by=\\  $fname -L *.txt
  11. done
复制代码
报错

14: Syntax error: "done" unexpected (expecting "do")

why?thanks!

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
7 [报告]
发表于 2011-08-03 10:31 |只看该作者
本帖最后由 rdcwayx 于 2011-08-03 10:33 编辑
对啊,folder是什么变量,没找到相关资料啊
xinjingcool 发表于 2011-08-03 08:34


folder 就是新指定的一个变量。顺便替你把密码给隐去了。

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
8 [报告]
发表于 2011-08-03 10:38 |只看该作者
报错

14: Syntax error: "done" unexpected (expecting "do")

why?thanks!
xinjingcool 发表于 2011-08-03 10:14



第14行代码出错,但是没看到你第14行代码。

论坛徽章:
0
9 [报告]
发表于 2011-08-03 10:45 |只看该作者
11: Syntax error: "done" unexpected (expecting "do")


就是最后一行了

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
10 [报告]
发表于 2011-08-03 11:23 |只看该作者
  1. /bin/sh -x yourscript
复制代码
可以自己查查错在哪里。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP