使用C#在MySQL中备份数据库

Bon*_*Bon 8 c# mysql winforms

我创建了Winforms以备份我的数据库.然后,当我运行我的程序时,它给出了一个未处理的Win32Exception."系统找不到指定的文件"虽然该文件已经存在并导致该异常.

这是关于我的问题的代码

using System.Diagnostics;

private void btnProceed_Click(object sender, EventArgs e)
{
            path = @"D:\MySQL\MySQL Server 5.5\bin\mysqldump.exe -u " + txtBoxDBUsername.Text + @" -p " + txtBoxDBName.Text + @" > D:\C#\Client\Salesmate - EMC\SalesMate\Backup\" + maskeTxtBoxDBFile.Text + @"";
            Process p = new Process();
            p.StartInfo.FileName = path;
            p.Start();
}
Run Code Online (Sandbox Code Playgroud)

mjb*_*mjb 23

您可以使用MySqlBackup.NET替代MySqlDump
文档:
http ://www.codeproject.com/Articles/256466/MySqlBackup-NET-MySQL-Backup-Solution-for-Csharp-V
https://github.com/MySqlBackupNET /MySqlBackup.Net

示例代码:

备份MySQL数据库

using MySql.Data.MySqlClient; 
Run Code Online (Sandbox Code Playgroud)


恢复MySQL数据库

private void Backup()
{
    string constring = "server=localhost;user=root;pwd=qwerty;database=test;";
    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();
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

更新:
我是这个库的作者之一.