MySQl转储无法使用防火墙

时间:2010-02-10 09:41:33

标签: mysql

我正在使用-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();
        } 

1 个答案:

答案 0 :(得分:1)

如果您谈论的是关闭外部世界的mySQL Port 3306的Web服务器,您通常会使用服务器端脚本语言(如PHP)连接到数据库,生成转储并将其传递给请求者

有各种各样的脚本,有些调用远程命令行mysqldump,有些使用PHP内置的mySQL函数连接到数据库。

如果这是一次性的事情,您想要查看要远程安装的phpMyAdmin