2010-09-20 111 views
1

我如何精确到我的本地机器?Outfile本地路径规范

select * into outfile'C:\ Info \ table1.txt' fields from'''from table1;

此查询在服务器上的table1.txt文件信息文件夹下创建,如何在此指定我的本地机器路径?

谢谢。

+1

您没有提供关于“本地机器”是什么以及您如何访问服务器的任何信息。 – 2010-09-20 21:58:31

+0

@皮卡 - 请看下面,我已经突出显示。 – Sharpeye500 2010-09-20 22:13:25

回答

1

此查询在服务器上创建信息文件夹下的table1.txt,如何在此处指定我的本地计算机路径?

如果您使用SSH访问远程计算机,则至少不能直接访问远程计算机。据我所知,无法输出INTO OUTFILE操作的结果。

建议解决方法:

  • 创建本地计算机上的网络共享服务器可达(如果可能)

  • 创建一个网络共享(或FTP帐户...或WebDAV帐户...),在那里存储转储并从那里取回

+0

谢谢,但我没有权限访问服务器文件夹,我们有任何其他方式吗? – Sharpeye500 2010-09-20 21:58:26

+0

数据库是在远程服务器,可以访问使用托德,我想运行查询导出到我的本地计算机的路径(c:\ somefolder \ filename.txt)。 – Sharpeye500 2010-09-20 22:07:53

+0

@Sharpeye我不知道托德是什么。维基百科也没有:http://en.wikipedia.org/wiki/Todd – 2010-09-21 08:18:04

3

你不能直接做。 OUTFILE语法只适用于服务器本身。但是,你可以这样做:

c:\> mysql -u username -h nameofserver -p -e "SELECT ... FROM database.table WHERE ..." > c:\info\table1.txt 

,如果你已经配置MySQL来允许从您的计算机的远程连接。

+0

@Marc - 非常感谢,我需要在命令提示符下运行这个吗?或者我可以直接在服务器的查询浏览器上运行它? – Sharpeye500 2010-09-20 22:01:07

+0

@Sharpeye您需要提供有关您的服务器设置的更多信息。我们仍然不知道您通过什么样的连接访问服务器。 – 2010-09-20 22:04:44

+0

你必须从你的本地机器运行它,告诉mysql监视器连接到你的MySQL服务器,这意味着MySQL必须允许TCP连接和一个帐户供你通过TCP访问。 Pekka的解决方案可能会更好 - 使用SELECT ... OUTFILE在服务器上生成文件,然后您可以通过其他方式进行传输。 – 2010-09-20 22:13:52