MySqlBackup.Net
用于备份和还原MySQL数据库的多功能工具,在C#,VB.NET和ASP.NET中。
最新版本:v2.6.4(2025年7月14日)
更改日志
概述
MySqlBackup.Net是一个.NET库(DLL),旨在备份和还原MySQL数据库。与多个MySQL连接器兼容-Mysql.data.dll,MySqlConnector.dll和Devart.express.mysql.dll-它为MySqlDump等工具提供了一种程序化替代方案,可在.NET环境中提供更大的控制和灵活性。
该库在C#开发的情况下支持任何.NET语言(例如VB.NET,F#),并且在MySqlDump.exe或MySQL Workbench的方案中脱颖而出,例如基于Web的应用程序(ASP.NET)或最终用户工具具有简化的接口。
关键功能
- 备份和恢复MySQL数据库。
- 支持所有.NET语言。
- 通过文件或MemoryStream导出/导入。
- 有条件的行导出(过滤表/行)。
- 进度报告出口和导入任务。
- 灵活行导出模式:插入,插入忽略,替换,重复的密钥更新,更新。
- ASP.NET和Web服务集成的理想选择。
入门
安装
下载
从以下内容获取最新版本:github版本
Nuget软件包
通过Nuget软件包管理器安装:
-
mysqlconnector :
pm> install-package MySqlBackup.Net .mysqlConnector
https://www.**nuge*t.org/packages/mysqlbackup-.net.mysqlconnector/ -
mysql.data连接器:
pm> install-package MySqlBackup.Net
https://www.n**ug*et.org/packages/mysqlbackup \\ net/ -
Devart Express连接器:
pm> install-pakeAge MySqlBackup.Net .devartExpress
https://www.n**ug*et.org/packages/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连接器之一:
| 连接器 | 来源 | 执照 | dlls |
|---|---|---|---|
| mysqlconnector | mysqlconnector | 麻省理工学院 | mysqlConnector.dll |
| mysql.data | MySQL连接器/网 | GPL | mysql.data.dll |
| Devart Express | mysql的互联网 | 定制(常见问题解答) | devart.data.dll,devart.data.mysql.dll |
兼容性
我们的目标是MySqlBackup.Net实现100%SQL合规性,确保与MySqlDump和MySQL.Exe无缝兼容,以备备份和还原操作。版本2.6引入了关键改进,解决了以前版本中的某些缺陷,并与MySqlDump生成的文件兼容挑战。如果您遇到任何不兼容,我们欢迎通过GitHub问题反馈,以帮助我们完善并坚持这一目标。
配置提示
Unicode支持
- 始终在不支持UTF8MB4的旧MySQL版本中使用UTF8MB4的默认字符集或UTF8。
- 建议在处理Null DateTime值时使用ConvertzerodateTime = true在连接字符串中以兼容。
性能基准
对于416 MB数据库(400,000行,4个表,Innodb),在Intel Core i7-4770s上(3.10GHz,16GB RAM,SSD SASD SAMSUNG 870 EVO 500GB):
| 任务 | 工具 | avg。时间 | 文件大小 |
|---|---|---|---|
| 备份 | MySqlBackup.Net (并行) | 〜10.21 | 571.588 MB |
| 备份 | MySqlBackup.Net (单) | 〜15.72s | 571.588 MB |
| 备份 | mysqldump.exe | 〜6.76 | 566.976 MB |
| 恢复 | MySqlBackup.Net | 〜35.87S | – |
| 恢复 | mysql.exe | 〜32.76s | – |
MySqlBackup.Net v2.6提供了竞争性能,尤其是在并行模式下,对以前的版本的改进有了显着改进。完整详细信息:性能基准Wiki。
执照
MySqlBackup.Net在不执行的情况下发布,使其免费使用。
结论
MySqlBackup.Net为MySQL数据库管理提供了强大的。新网络解决方案。无论是用于桌面应用程序,Web服务还是自动备份,它都是由全球社区为全球社区构建的工具箱的多功能补充。
在Github上探索更多!
