2

私はc#を介してmysqlからデータベースをバックアップする方法を探しています(ファイルバックアップ)。また、c#を介して、バックアップファイルから新しい場所にデータベースを復元します。

ここで始める方法についていくつかのアイデアを手伝ってくれませんか。

ありがとう。

4

4 に答える 4

4
ProcessStartInfo startInfo = new ProcessStartInfo("cmd.exe");
Process.Start(startInfo);
startInfo.Arguments = "mysqldump -u admin -p admin test > c:\backupfile.sql";
Process.Start(startInfo);

必要に応じて、startInfo.WindowStyle で dos プロンプトを非表示にすることができます。

于 2011-02-17T07:12:24.843 に答える
3

MySqlDump の代わりに、MySqlBackup.NET を試すことができます: https://github.com/MySqlBackupNET/MySqlBackup.Net

MySQL データベースのバックアップ/エクスポート

string constring = "server=localhost;user=root;pwd=qwerty;database=test;";

// Important Additional Connection Options
constring += "charset=utf8;convertzerodatetime=true;";

string file = "C:\\backup.sql";

using (MySqlConnection conn = new MySqlConnection(constring))
{
    using (MySqlCommand cmd = new MySqlCommand())
    {
        using (MySqlBackup mb = new MySqlBackup(cmd))
        {
            cmd.Connection = conn;
            conn.Open();
            mb.ExportToFile(file);
            conn.Close();
        }
    }
}

MySQL データベースのインポート/復元

string constring = "server=localhost;user=root;pwd=qwerty;database=test;";

// Important Additional Connection Options
constring += "charset=utf8;convertzerodatetime=true;";

string file = "C:\\backup.sql";

using (MySqlConnection conn = new MySqlConnection(constring))
{
    using (MySqlCommand cmd = new MySqlCommand())
    {
        using (MySqlBackup mb = new MySqlBackup(cmd))
        {
            cmd.Connection = conn;
            conn.Open();
            mb.ImportFromFile(file);
            conn.Close();
        }
    }
}
于 2018-05-05T01:10:31.827 に答える
2

あなたが見つけた CodeProject は、mysqldump.exe を呼び出すことによってバックアップを行い、C# プログラム内から mysql.exe を呼び出すことによって復元を行います (Marc B が推奨するように)。

別の方法として、この CodeProject は、外部プログラムを呼び出す代わりに、SQL ステートメント自体を実際に生成します。

(mysqldump.exe / mysql.exe を使用するほど高速でも信頼性も高くありませんが、多くのことを学ぶことができます。)

于 2012-04-05T18:36:20.663 に答える
0

http://www.devart.com/dotconnect/mysql/docs/Devart.Data.MySql~Devart.Data.MySql.MySqlDump.htmlを試すことができます

于 2011-02-17T07:03:56.093 に答える