【发布时间】:2021-02-21 05:27:42
【问题描述】:
我想使用 java 从 kubernetes pod 中的 mysql 数据库创建转储文件。 我用 kubernetes-java-client 库尝试了以下代码:
Process proc = exec.exec(ns, podName, new String[] { "mysqldump", "-u", "root", "-padmin", "wordpress", ">", "/root/wordpress.sql" },true);
proc.waitFor();
但这不会在 pod 内的请求目录中创建转储文件。 我还尝试运行 kubectl exec 并创建转储文件:
Runtime run = Runtime.getRuntime();
Process pr;
pr=run.exec("kubectl exec "+podName+" -n"+" "+ns +" -- mysqldump -u root -padmin wordpress > /root/wordpress.sql");
pr.waitFor();
BufferedReader errinput = new BufferedReader(new InputStreamReader(pr.getErrorStream()));
String line;
if ((line = errinput.readLine()) != null)
System.out.println(line);
此代码的结果应该在我的主机中的 /root/wordpress.zip 中创建转储文件,而不是在 pod 中,但这也不会创建它。
我在恢复转储文件时也遇到了完全相同的问题。
【问题讨论】:
标签: java mysql kubernetes