【问题标题】:Outfile local path specificationOutfile 本地路径规范
【发布时间】:2011-04-14 22:10:29
【问题描述】:

我如何精确到我的本地机器?

选择 * 到 outfile 'C:\Info\table1.txt' table1 中以 ',' 结尾的字段;

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

谢谢。

【问题讨论】:

  • 您没有提供有关“本地计算机”是什么以及您如何访问服务器的任何信息。
  • @Pekka - 请看下面,我已经突出显示。

标签: mysql sql into-outfile


【解决方案1】:

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

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

如果您已将 MySQL 配置为允许从您的计算机进行远程连接。

【讨论】:

  • @Marc - 非常感谢,我需要在命令提示符下运行它吗?或者我可以直接在服务器的查询浏览器上运行它吗?
  • @Sharpeye 您需要提供有关服务器设置外观的更多信息。我们仍然不知道您通过什么样的连接访问服务器。
  • 你必须从你的本地机器上运行它,告诉 mysql 监视器连接到你的 MySQL 服务器,这意味着 MySQL 必须允许 TCP 连接和一个帐户供你通过 TCP 访问。 Pekka 的解决方案可能会更好 - 使用 SELECT ... OUTFILE 在服务器上生成文件,然后您可以通过其他方式传输。
  • @Marc - 我在 mysql 客户端命令提示符下运行它,我收到输出禁用错误,有什么想法吗?
  • 对您尝试将输出重定向到的目录或文件没有写权限?是 Windows 错误,还是来自 mysql 监视器?
【解决方案2】:

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

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

解决方法建议:

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

  • 在服务器上创建一个网络共享(或 FTP 帐户...或 WebDAV 帐户...),将转储存储在那里并从那里获取它

【讨论】:

  • 谢谢,但是我没有权限访问服务器文件夹,我们还有什么办法吗?
  • 数据库位于远程服务器中,可以使用 todd 访问,我正在尝试运行查询以导出到本地计算机的路径 (c:\somefolder\filename.txt)。跨度>
  • @Sharpeye 我不知道 todd 是什么。维基百科也没有:en.wikipedia.org/wiki/Todd
猜你喜欢
  • 2011-02-10
  • 1970-01-01
  • 2012-08-19
  • 1970-01-01
  • 1970-01-01
  • 2011-04-05
  • 1970-01-01
  • 2013-02-13
  • 1970-01-01
相关资源
最近更新 更多