我正在使用-msqldump备份远程计算机中的数据库。如果启用了防火墙,我无法登录到其他主机。是否有解决此问题的方法。
我已在网络服务器中发布以下编码,并尝试从其他域进行备份。
String dumpCommand = "D:/MySQL/MySQL Server 5.0/bin/mysqldump -h"+scheduleInfo.get("hostName")+" -u"+scheduleInfo.get("user")+" -p"+scheduleInfo.get("password")+" "+scheduleInfo.get("dbName");
Runtime rt = Runtime.getRuntime();
try
{
Process proc = rt.exec(dumpCommand);
InputStream in = proc.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(in));
String line=null;
File directory=new File(context.getJobDetail().getDescription());
if(!directory.exists())
{
directory.mkdir();
}
File f=new File(directory.getAbsolutePath()+"\\"+context.getTrigger().getJobName()+".sql");
System.out.println(f.getAbsolutePath());
FileWriter fw=new FileWriter(f,true);
fw.append("CREATE DATABASE /*!32312 IF NOT EXISTS*/ `"+scheduleInfo.get("dbName")+"` /*!40100 DEFAULT CHARACTER SET latin1 */;\nUSE `"+scheduleInfo.get("dbName")+"`;\n");
while((line=br.readLine())!=null)
{
System.out.println(line);
fw.append(line+"\n");
}
fw.close();
}
答案 0 :(得分:1)
如果您谈论的是关闭外部世界的mySQL Port 3306的Web服务器,您通常会使用服务器端脚本语言(如PHP)连接到数据库,生成转储并将其传递给请求者
有各种各样的脚本,有些调用远程命令行mysqldump,有些使用PHP内置的mySQL函数连接到数据库。
如果这是一次性的事情,您想要查看要远程安装的phpMyAdmin。