Mysql 如何在openshift中查找文件
考虑一下,我有一个rest服务,它将csv文件响应到客户端。 csv文件是通过查询mysql生成的:Mysql 如何在openshift中查找文件,mysql,openshift,into-outfile,Mysql,Openshift,Into Outfile,考虑一下,我有一个rest服务,它将csv文件响应到客户端。 csv文件是通过查询mysql生成的: SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy-HH-mm-ss"); String path = (df.format(new Date()))+"-"+limit+".csv"; String fileQuery = String.format("Select * INTO OUTFILE '%s' FIELDS TERMINAT
SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy-HH-mm-ss");
String path = (df.format(new Date()))+"-"+limit+".csv";
String fileQuery = String.format("Select * INTO OUTFILE '%s' FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' from some_table ", path);
/*Executing query*/
Path p = (Path) Paths.get(path);
ResponseBuilder response = Response.ok((Object) p.toFile());
response.header("Content-Disposition",
"attachment; filename="+p.getFileName());
return response.build();
jboss应用程序和mysql都托管在RH Openshift gears上。
问题是-在哪里可以找到由mysql生成的outfile
在我看来,mysql gear的环境与jboss不同,所以当我创建csv文件test.csv时
select into outfile '/tmp/test.csv' ...
我在/tmp目录中找不到它
我尝试在path中使用一些openshift环境变量,例如openshift_DATA_DIR等,结果相同
提前感谢。您是否尝试过使用齿轮
rhc ssh
和find-name'.csv'2>/dev/null
?如果我只是使用MySQL ssh进入我的设备并选择某个内容到文件中,它最终会出现在~/MySQL/data/
.2Jiri Fiala中-感谢您的建议。当我使用OpenShift提供的登录名ssh(简单终端,而不是rhc)到应用程序时,我什么也找不到。mysql>使用mydatabase数据库更改mysql>选择*从Track limit 5到outfile'test123.txt';查询OK,5行受影响(0.00秒)mysql>exit Bye[myapplication.rhcloud.com登录]\>find/-name'test123.txt'-print 2>/dev/null[myapplication.rhcloud.com登录]\>我想在我的配置中,mysql gear不与Jboss gear共享文件系统很抱歉,我告诉过你用ssh连接到主应用程序gear,而不是DB所在的齿轮。为此,只需运行rhc-app-show--gears
(它将列出gears及其SSH-url),然后用SSH连接到数据库所在的gear中(使用SSH
,而不是rhc-SSH
)。