1

mysql のデータベース バックアップを作成する必要がありますが、特定の機能が必要です。バックアップは、Java Swing でボタンをクリックするだけで実行されます。

パス : パスは、保存先 (例: c://backup) で宣言する必要がありますが、パスは、Java の jar ファイルを他のユーザーに提供した場合に保存の問題が発生しないようにする必要があります。では使用するのが最適ですか?

Name : 名前は 3 つの文字列で構成されます。1 つは基本的な文字列で、もう 1 つは日時形式の文字列で、3 番目の文字列が続きます。(例: FileName-2012-02-12 09:00:00-Name)。

どうすればこれを達成できますか?誰か私を案内してくれませんか

mysqldump を使用してコーディングしようとしましたが、まだ完了できませんでした。

String dbName = "dth";
        String dbUser = "root";
        String dbPass = "root";

        String executeCmd = "";
        executeCmd = "mysqldump -u " + dbUser + " -p" + dbPass + " " + dbName + " -r C:\\backup.sql";

        Process runtimeProcess = Runtime.getRuntime().exec(executeCmd);
        int processComplete = runtimeProcess.waitFor();
        if (processComplete == 0) {
            System.out.println("Backup taken successfully");
        } else {
            System.out.println("Could not take mysql backup");
        }

    } catch (Exception e) {
        System.out.println(e.getMessage());
    }

上記のコードを試しましたが、実行できませんでした。

CreateProcess エラー = 2、指定されたファイルが見つかりません。エラー。

その場所に .sql ファイルを作成して試しましたが、それでも同じエラーが発生します。

4

1 に答える 1

1

そのためには、mysqldump コマンドを使用します。たぶん、あなたが書いているどんなプログラムからでもそれを呼び出すことができます. 構文は単純です。

mysqldump -u <user> -h <host> -p<password> <dbname> > <filename>

これは、データベース全体をSQLスクリプトとしてそのファイルに入れるだけです。

于 2013-02-16T10:15:11.793 に答える