LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

用 C# 操作 MySQL 数据库备份还原,这个开源库MySqlBackup.NET真香!

admin
2025年7月15日 10:28 本文热度 104

一个用于在 C#、VB.NET 和 ASP.NET 中备份和还原 MySQL 数据库的多功能工具。

简介

MySqlBackup.NET 是一个用于备份和还原 MySQL 数据库的 .NET 库(DLL)。它兼容多个 MySQL 连接器——MySql.Data.DLLMySqlConnector.DLL 和 Devart.Express.MySql.DLL,提供了比 MySqlDump 等工具更强大的控制和灵活性。

该库使用 C# 开发,支持任何 .NET 语言(如 VB.NET、F#),特别适用于无法使用 MySqlDump.exe 或 MySQL Workbench 的场景,例如基于 Web 的应用程序(ASP.NET)或具有简化界面的终端用户工具。

使用指南

可通过 NuGet 包管理器安装:

  • • MySqlConnector:
    PM> Install-Package MySqlBackup.NET.MySqlConnector
  • • MySql.Data 连接器:
    PM> Install-Package MySqlBackup.NET
  • • Devart Express 连接器:
    PM> Install-Package MySqlBackup.Net.DevartExpress

实现代码

备份数据库

string constr = "server=localhost;user=root;pwd=1234;database=test1;convertzerodatetime=true;";
string filePath = @"C:\backup.sql";

using (var conn = new MySqlConnection(constr))
using (var cmd = conn.CreateCommand())
using (var mb = new MySqlBackup(cmd))
{
    conn.Open();
    mb.ExportToFile(filePath);
}

还原数据库

string constr = "server=localhost;user=root;pwd=1234;database=test1;convertzerodatetime=true;";
string filePath = @"C:\backup.sql";

using (var conn = new MySqlConnection(constr))
using (var cmd = conn.CreateCommand())
using (var mb = new MySqlBackup(cmd))
{
    conn.Open();
    mb.ImportFromFile(filePath);
}

为什么选择 MySqlBackup.NET?

与 MySQL Workbench(面向开发者)或 MySqlDump.exe(在 Web 环境中受限制)不同,MySqlBackup.NET 提供了:

  • • 终端用户友好性:预设参数实现一键式备份体验。
  • • Web 兼容性:无缝运行于 ASP.NET,绕过对可执行文件的托管限制。
  • • 编程控制:在 .NET 中精细控制输出。

依赖项

MySqlBackup.NET 需要以下 MySQL 连接器之一:

连接器
来源
许可证
DLL 文件
MySqlConnectorMySqlConnector
MIT
MySqlConnector.dll
MySql.DataMySQL Connector/Net
GPL
MySql.Data.dll
Devart ExpressdotConnect for MySQL
自定义 (常见问题)
Devart.Data.dll
Devart.Data.MySql.dll

配置技巧

Unicode 支持

  • • 始终使用默认字符集 utf8mb4,或者在不支持 utf8mb4 的旧版 MySQL 中使用 utf8
  • • 建议在连接字符串中使用 convertzerodatetime=true,以便更好地处理空日期时间值。

性能基准

在一个 416 MB 数据库(400,000 行,4 张表,InnoDB)上进行测试(Intel Core i7-4770S,3.10GHz,16GB RAM,三星 870 Evo 500GB SSD):

性能图表 mysqlbackup.net 2025-07-04
任务
工具
平均时间
文件大小
备份
MySqlBackup.NET (并行)
~10.21秒
571.588 MB
备份
MySqlBackup.NET (单线程)
~15.72秒
571.588 MB
备份
mysqldump.exe
~6.76秒
566.976 MB
恢复
MySqlBackup.NET
~35.87秒
-
恢复
mysql.exe
~32.76秒
-

MySqlBackup.NET v2.6 提供了具有竞争力的性能,尤其是在并行模式下,相比之前的版本有了显著提升。

 


··············  END  ··············


该文章在 2025/7/15 10:28:11 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved