首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过SSH将数据从文件加载到Mysql表中

问通过SSH将数据从文件加载到Mysql表中
EN

Stack Overflow用户
提问于 2014-07-17 20:20:30
回答 2查看 766关注 0票数 1

Server1有一个MySQL服务器,Server2有一个我需要导入到表服务器1的MySQL服务器中的文件。我只能使用SSH访问Server2及其文件。

现在,什么才是最好的解决方案呢?一种低效的方法是将文件scp到Server2的硬盘上,然后对该文件执行LOAD DATA INFILE。但由于文件很大,我希望避免这样做。

有没有办法将文件从Server2直接加载到服务器1的Mysql中?

EN

回答 2

Stack Overflow用户

发布于 2014-07-17 20:40:47

代码语言:javascript
复制
cat file.sql | ssh -C -c blowfish username@myserver mysql -u username -p database_name

在此命令中,-C在传输过程中启用压缩,而-c blowfish选择使用比默认算法更少的CPU的循环算法。

常识建议传输压缩文件,以便您可以使用例如MD5验证校验和,然后从压缩文件运行导入。

希望这能有所帮助。

票数 3
EN

Stack Overflow用户

发布于 2014-07-17 20:55:31

您希望使用ssh隧道安全地远程访问您的mysql服务器。

以下命令将创建端口转发:

代码语言:javascript
复制
$ ssh -f -L <[local address:]port>:<remote address;port> -N <user id>

例如:

代码语言:javascript
复制
$ ssh -F -L 45678:localhost:3307 -N foo@localhost

将使用foo的凭证将本地主机上的默认mysql服务器端口转发到端口45678 (这对于测试目的可能很有用)。

然后,您可以简单地使用本地程序连接到服务器:

代码语言:javascript
复制
$ mysql -p -u foo -P 45678

在mysql提示符下,可以使用LOAD DATA语句批量加载数据文件,该语句采用可选关键字LOCAL来指示该文件位于连接的客户端。

文档:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24803415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档