楼主: peterddjj

请教mysql+linux如何生成.sql文件

[复制链接]
论坛徽章:
0
11#
 楼主| 发表于 2007-5-15 18:43 | 只看该作者
我是通过shell 来执行的 我在我win机子上装的mysql 上试 的却可以 不知道为什么

使用道具 举报

回复
论坛徽章:
115
生肖徽章:狗
日期:2007-01-06 21:14:12马上有车
日期:2014-03-06 16:45:08马上加薪
日期:2014-05-09 12:27:582014年世界杯参赛球队: 英格兰
日期:2014-07-03 13:10:44青年奥林匹克运动会-竞技体操
日期:2014-09-10 15:30:57马上有钱
日期:2014-10-31 13:56:48美羊羊
日期:2015-03-04 14:48:582015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-04-23 19:26:10金牛座
日期:2015-09-17 08:21:44
12#
发表于 2007-5-15 18:48 | 只看该作者
最初由 peterddjj 发布
[B]我是通过shell 来执行的 我在我win机子上装的mysql 上试 的却可以 不知道为什么 [/B]

你是指什么不可以,是文件没有生成,还是?

使用道具 举报

回复
论坛徽章:
115
生肖徽章:狗
日期:2007-01-06 21:14:12马上有车
日期:2014-03-06 16:45:08马上加薪
日期:2014-05-09 12:27:582014年世界杯参赛球队: 英格兰
日期:2014-07-03 13:10:44青年奥林匹克运动会-竞技体操
日期:2014-09-10 15:30:57马上有钱
日期:2014-10-31 13:56:48美羊羊
日期:2015-03-04 14:48:582015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-04-23 19:26:10金牛座
日期:2015-09-17 08:21:44
13#
发表于 2007-5-15 18:50 | 只看该作者
你可以指定路径的
比如
select * from table into outfile '/mysql/test.sql';

使用道具 举报

回复
论坛徽章:
115
生肖徽章:狗
日期:2007-01-06 21:14:12马上有车
日期:2014-03-06 16:45:08马上加薪
日期:2014-05-09 12:27:582014年世界杯参赛球队: 英格兰
日期:2014-07-03 13:10:44青年奥林匹克运动会-竞技体操
日期:2014-09-10 15:30:57马上有钱
日期:2014-10-31 13:56:48美羊羊
日期:2015-03-04 14:48:582015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-04-23 19:26:10金牛座
日期:2015-09-17 08:21:44
14#
发表于 2007-5-15 18:52 | 只看该作者
如果你能生成文件,能把你生成的文件的前面几行贴出来吗

使用道具 举报

回复
论坛徽章:
0
15#
 楼主| 发表于 2007-5-15 19:14 | 只看该作者
#!/bin/sh

mysql -uroot -p -Didd_billing < /root/bin/upprefix.txt > /root/data/upprefix.sql

cd /root/data
ftp -ivn 193.177.243.9 <<EOT
user accou acct
cd sc/data/
put upprefix.sql
bye
EOT

--------------------------------------
upprefix.txt   里的sql是
SELECT concat("update testing set end_time=","'",DATE_FORMAT(effdate - INTERVAL 1 second,'%Y%m%d%H%i%s'),"'"," where carrier_id=","'",carrier,"'"," and prefix=","'",prefix,"'",";" into outfile '/root/data/upprefix.sql' FROM upprefix
---------------------------------------------------
生成的upprefix.sql如下:
concat("update testing set end_time=","'",DATE_FORMAT(effdate - INTERVAL 1 second,'%Y%m%d%H%i%s'),"'"," where carrier_id=","'",carrier,"'"," and prefix=","'",prefix,"'",";"
update testing set end_time='20070430235959' where carrier_id='hgc' and prefix='41';
update testing set end_time='20070430235959' where carrier_id='hgc' and prefix='411';
update testing set end_time='20070430235959' where carrier_id='hgc' and prefix='4143';
update testing set end_time='20070430235959' where carrier_id='hgc' and prefix='4144';
update testing set end_time='20070430235959' where carrier_id='hgc' and prefix='4174';
update testing set end_time='20070430235959' where carrier_id='hgc' and prefix='4176';
update testing set end_time='20070430235959' where carrier_id='hgc' and prefix='4177';

使用道具 举报

回复
论坛徽章:
115
生肖徽章:狗
日期:2007-01-06 21:14:12马上有车
日期:2014-03-06 16:45:08马上加薪
日期:2014-05-09 12:27:582014年世界杯参赛球队: 英格兰
日期:2014-07-03 13:10:44青年奥林匹克运动会-竞技体操
日期:2014-09-10 15:30:57马上有钱
日期:2014-10-31 13:56:48美羊羊
日期:2015-03-04 14:48:582015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-04-23 19:26:10金牛座
日期:2015-09-17 08:21:44
16#
发表于 2007-5-15 19:16 | 只看该作者
我现在Linux上没装MySQL
你不要用shell
试试俺给你的SQL语句

使用道具 举报

回复
论坛徽章:
0
17#
 楼主| 发表于 2007-5-15 19:20 | 只看该作者
mysql -uroot -p -Didd_billing < /root/bin/upprefix.txt > /root/data/upprefix.sql
改为mysql -uroot -p -Didd_billing < /root/bin/upprefix.txt
local: upprefix.sql remote: upprefix.sql
local: upprefix.sql: No such file or directory
就不行拉

使用道具 举报

回复
论坛徽章:
0
18#
 楼主| 发表于 2007-5-15 19:23 | 只看该作者
upprefix.txt 里的sql是
SELECT concat("update testing set end_time=","'",DATE_FORMAT(effdate - INTERVAL 1 second,'%Y%m%d%H%i%s'),"'"," where carrier_id=","'",carrier,"'"," and prefix=","'",prefix,"'",";" into outfile '/root/data/upprefix.sql' FROM upprefix

就是和你的差不多吧

使用道具 举报

回复
论坛徽章:
115
生肖徽章:狗
日期:2007-01-06 21:14:12马上有车
日期:2014-03-06 16:45:08马上加薪
日期:2014-05-09 12:27:582014年世界杯参赛球队: 英格兰
日期:2014-07-03 13:10:44青年奥林匹克运动会-竞技体操
日期:2014-09-10 15:30:57马上有钱
日期:2014-10-31 13:56:48美羊羊
日期:2015-03-04 14:48:582015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-04-23 19:26:10金牛座
日期:2015-09-17 08:21:44
19#
发表于 2007-5-15 19:28 | 只看该作者
你直接在MySQL提示符下执行就没有你说的那个内容了
mysql> select id from aa into outfile 'd:\aa.sql';
Query OK, 1 row affected (0.00 sec)

mysql>

使用道具 举报

回复
论坛徽章:
115
生肖徽章:狗
日期:2007-01-06 21:14:12马上有车
日期:2014-03-06 16:45:08马上加薪
日期:2014-05-09 12:27:582014年世界杯参赛球队: 英格兰
日期:2014-07-03 13:10:44青年奥林匹克运动会-竞技体操
日期:2014-09-10 15:30:57马上有钱
日期:2014-10-31 13:56:48美羊羊
日期:2015-03-04 14:48:582015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-04-23 19:26:10金牛座
日期:2015-09-17 08:21:44
20#
发表于 2007-5-15 19:33 | 只看该作者
即使是你那样的方式也是没有问题的
如mm.txt内容
select id from aa into outfile 'c:/aa.sql';

然后
D:\MySQL\bin>mysql -uroot -pgene gene <d:\mm.txt

再看
C:\>more aa.sql
100

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表