gpt4 book ai didi

mysql - 将 csv 文件从 mysql 导出到本地计算机

转载 作者:行者123 更新时间:2023-11-29 11:05:18 24 4
gpt4 key购买 nike

我正在使用通过 ssh 访问的远程服务器。在服务器上有一个 mysql 数据库,我从中进行查询

SELECT * FROM my_table where date >  '2010-01-01'';

到目前为止一切顺利,当我尝试创建输出文件时出现问题:

SELECT * FROM my_table where date >  '2010-01-01'  INTO OUTFILE '/home/ubuntu/data/my_output.csv';

我收到权限错误:

ERROR 1 (HY000): Can't create/write to file '/home/ubuntu/data/my_output.csv' (Errcode: 13)

有没有办法将文件直接发送到我的本地计算机,而不是先将其写入我无权从数据库写入文件的服务器上?

最佳答案

您可以通过 ssh 隧道连接 mysql 端口(在服务器上)。

通过隧道连接服务器端口的 ssh 连接示例(位于 ubuntu 上的 .ssh/config 文件中):

Host my_mysql_server
Hostname mysql_host_server
Port ssh_port
LocalForward 3307 localhost:3306
User ssh_user

终端示例:

ssh -L 3307:localhost:3306 ... (hostname, ...)

您可以将 3307 更改为您想要的任何端口(应该是尚未使用的端口)。

然后您可以在本地计算机上进行导出。将您的 sql 查询放入 sql 文件中(例如:my_query.sql)并通过终端(ubuntu)中的以下命令将其导出:

mysql -h localhost -P 3307 your_database_name -u mysql_user -p < my_query.sql > export.csv

关于mysql - 将 csv 文件从 mysql 导出到本地计算机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41508174/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com