备份和恢复mysql数据库c#

备份和恢复mysql数据库c#,c#,.net,mysql,database-backups,database-restore,C#,.net,Mysql,Database Backups,Database Restore,我正在寻找一种方法,如何通过c#从mysql(文件备份)备份一些数据库。 还可以通过c#将数据库从备份文件恢复到某个新位置 你能帮我介绍一下如何从这里开始吗 谢谢。你可以试试 如果需要,您可以使用startInfo.WindowStyle隐藏dos提示。您找到的CodeProject通过调用mysqldump.exe进行备份,并通过在C#程序中调用mysql.exe进行恢复(如Marc B所建议的) 作为替代方案,此CodeProject实际上自己生成SQL语句,而不是调用外部程序: (

我正在寻找一种方法,如何通过c#从mysql(文件备份)备份一些数据库。 还可以通过c#将数据库从备份文件恢复到某个新位置

你能帮我介绍一下如何从这里开始吗

谢谢。

你可以试试


如果需要,您可以使用startInfo.WindowStyle隐藏dos提示。

您找到的CodeProject通过调用mysqldump.exe进行备份,并通过在C#程序中调用mysql.exe进行恢复(如Marc B所建议的)

作为替代方案,此CodeProject实际上自己生成SQL语句,而不是调用外部程序:


(虽然不如使用mysqldump.exe/mysql.exe快速可靠,但您可以从中学到很多。)

作为mysqldump的替代方案,您可以尝试使用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();
        }
    }
}
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();
        }
    }
}
导入/恢复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();
        }
    }
}
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();
        }
    }
}

基本上,您希望从C#内部复制mysqldump,此时最好只调用mysqldump。我现在找到了这个,我认为它可以完成这项工作me@MarcB某些ASP.NET web主机阻止在其服务器上执行MySqlDump。您好,您提供的软件(link)有一个新版本(1.3)。你对那个版本有何评论?