0

コメント 1 と 2 を交互に適用します。しかし、cmd で動作する java.mysqldump を使用して myqldump ファイルを取得できませんでした。mysqldumpコメントを入力した後、cmdでパスワードを尋ねると思います。早めに助けてください。よろしくお願いします。

   String dumpCommand = "C:\\Program Files\\MySQL\\MySQL Server 5.0\\bin\\mysqldump" + " -u " + user + " -p" + " " + database + " > " + path;
    **//command 1**
    Runtime rt = Runtime.getRuntime();
    File test = new File(path);
    PrintStream ps;

    try {
    //    Process child = rt.exec("Cmd /c \"C:/Program Files/MySQL/MySQL Server 5.0/bin/mysqldump\" -u root -p saxco > "+path);//command 2

        Process child = rt.exec(dumpCommand);
        ps = new PrintStream(test);
         InputStream in = child.getInputStream();
        int ch;
        while ((ch = in.read()) != -1) {
           ps.write(ch);
            System.out.write(ch);
        }
4

3 に答える 3

0

ここに記載されているように、このようなコマンドでパスワードを指定できます[...] -pPASSWORD [...]。オプション フラグと実際のパスワードの間にスペースを入れてはならないことに注意してください。-p

この方法でパスワードを指定すると、セキュリティ上のリスクがあることに注意してください。

于 2013-07-16T10:58:57.573 に答える
0

パスワードを使用しない場合は、 -p オプションも使用しないでください。

文字列 dumpCommand = "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqldump" + " -u " + ユーザー + データベース + " > " + パス;

またはこれがある場合は(ギャップなしで)

文字列 dumpCommand = "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqldump" + " -u " + ユーザー + " -p" + パスワード + " " + データベース + " > " + パス;

于 2013-07-16T11:03:30.463 に答える
0

これを試して-

String cmd="mysqldump -u "+USER+" -p"+PASSWORD+"  "+database+" --routines -r"+PATH;

                 Runtime runtime = Runtime.getRuntime();
                 Process exec;

                 exec = runtime.exec(cmd);

                 int processComplete = exec.waitFor();
         if(processComplete == 0){
         System.out.println("Backup taken successfully in "+PATH+" on "+new Date());
         } else {
         System.out.println("Could not take mysql backup  :ERROR:");
         }
于 2013-07-16T11:12:42.837 に答える