2012-08-04 71 views
0

我对Cygwin很新,但我一直在使用Windows命令提示符来运行我的MySQL问题并处理外部MySQL查询而没有问题。Cygwin w/MySQL SELECT:未找到命令...正在运行外部.sql文件

我升级到Cgywin,因为它只是一个更好的界面,有更多的选择。

我在这里调用一个外部脚本:E:/dir/test.sql ..我想说明一点,当我在MySQL CLI下以相同的方式运行查询时,test.sql在Windows命令提示符下工作得很完美。 MySQL服务器安装并按预期运行。

$ \. E:/dir/test.sql 
-bash: SELECT: command not found 
-bash: ,: command not found 
-bash: ,: command not found 
-bash: ,: command not found 
-bash: ,: command not found 
-bash: ,: command not found 
-bash: ,: command not found 
-bash: E:/dir/test.sql: line 9: syntax error near unexpected token `concat' 
-bash: E:/dir/test.sql: line 9: `INSERT(concat(b.geo_state, replace("b.mtr", ' ', ''), 
' 

经过一番研究,我发现,如果我运行:$ mysql的哪个,我得到这样的路径的Linux:在/ usr/bin中/ MySQL和所有我能想到的是我是的mysql.exe在不同的目录可能是所有问题。

但我不知道或找不到如何更改MySQL的默认Cygwin路径(如果这甚至是可能的原因)。

回答

0

你的问题似乎是bash试图运行你的脚本,而不是mysql。

尝试把

#!/usr/bin/mysql 

在脚本的顶部。

不过,我会感到惊讶,如果实际工作,因为正常的方式在MySQL上至少Unixy系统上运行的SQL脚本,管道被他们到MySQL

mysql [options...] <test.sql 

注意“<”字符。

我在Windows上使用mysql的经验很少,所以我不知道它是如何在Windows上运行的。

0

第一种在Cygwin终端中mysql是否工作正常?

a。如果将脚本正确复制到/ home

b。键入

 cd /home 
    mysql < test.sql 

,将工作肯定尝试

相关问题