MySqlBackup.Net.DevartExpress
2.6.0
See the version list below for details.
dotnet add package MySqlBackup.Net.DevartExpress --version 2.6.0
NuGet\Install-Package MySqlBackup.Net.DevartExpress -Version 2.6.0
<PackageReference Include="MySqlBackup.Net.DevartExpress" Version="2.6.0" />
<PackageVersion Include="MySqlBackup.Net.DevartExpress" Version="2.6.0" />
<PackageReference Include="MySqlBackup.Net.DevartExpress" />
paket add MySqlBackup.Net.DevartExpress --version 2.6.0
#r "nuget: MySqlBackup.Net.DevartExpress, 2.6.0"
#:package MySqlBackup.Net.DevartExpress@2.6.0
#addin nuget:?package=MySqlBackup.Net.DevartExpress&version=2.6.0
#tool nuget:?package=MySqlBackup.Net.DevartExpress&version=2.6.0
MySqlBackup.NET
A versatile tool for backing up and restoring MySQL databases in C#, VB.NET, and ASP.NET.
Latest Release: v2.6 (July 04, 2025)
Change Log
Overview
MySqlBackup.NET is a .NET library (DLL) designed to backup and restore MySQL databases. Compatible with multiple MySQL connectors—MySql.Data.DLL
, MySqlConnector.DLL
, and Devart.Express.MySql.DLL
—it offers a programmatic alternative to tools like MySqlDump, providing greater control and flexibility in .NET environments.
Developed in C#, this library supports any .NET language (e.g., VB.NET, F#) and excels in scenarios where MySqlDump.exe or MySQL Workbench are impractical, such as web-based applications (ASP.NET) or end-user tools with simplified interfaces.
Key Features
- Backup and restore MySQL databases programmatically.
- Supports all .NET languages.
- Export/import via files or
MemoryStream
. - Conditional row exports (filter tables/rows).
- Progress reporting for export and import tasks.
- Flexible row export modes:
INSERT
,INSERT IGNORE
,REPLACE
,ON DUPLICATE KEY UPDATE
,UPDATE
. - Ideal for ASP.NET and web service integration.
Getting Started
Installation
Download
Grab the latest release from: GitHub Releases
NuGet Packages
Install via NuGet Package Manager:
MySqlConnector:
PM> Install-Package MySqlBackup.NET.MySqlConnector
https://www.nuget.org/packages/MySqlBackup.NET.MysqlConnector/MySql.Data Connector:
PM> Install-Package MySqlBackup.NET
https://www.nuget.org/packages/MySqlBackup.NET/Devart Express Connector:
PM> Install-Package MySqlBackup.Net.DevartExpress
https://www.nuget.org/packages/MySqlBackup.Net.DevartExpress/
Add to Your Project
See the detailed guide:
How to Add This Library into Your Project
Basic Usage
Backup a Database
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);
}
Restore a Database
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);
}
Why MySqlBackup.NET?
Unlike MySQL Workbench (developer-focused) or MySqlDump.exe (restricted in web environments), MySqlBackup.NET offers:
- End-User Simplicity: Preset parameters for a one-click backup experience.
- Web Compatibility: Runs seamlessly in ASP.NET, bypassing hosting restrictions on executables.
- Programmatic Control: Fine-tuned output handling within .NET.
Dependencies
MySqlBackup.NET requires one of these MySQL connectors:
Connector | Source | License | DLLs |
---|---|---|---|
MySqlConnector | MySqlConnector | MIT | MySqlConnector.dll |
MySql.Data | MySQL Connector/Net | GPL | MySql.Data.dll |
Devart Express | dotConnect for MySQL | Custom (FAQ) | Devart.Data.dll , Devart.Data.MySql.dll |
Configuration Tips
Unicode Support
For databases with UTF-8 or Unicode characters (e.g., À
, Ñ
, Cyrillic, Chinese), use:
server=localhost;user=root;pwd=qwerty;charset=utf8;
Or, for broader support:
server=localhost;user=root;pwd=qwerty;charset=utf8mb4;
DateTime Handling (MySql.Data Only)
To avoid conversion errors with null or date-only values, add:
server=localhost;user=root;pwd=qwerty;charset=utf8;convertzerodatetime=true;
Performance Benchmark
Compare MySqlBackup.NET to MySqlDump for a 3.5GB database (15M rows):
Task | Tool | Time | File Size |
---|---|---|---|
Backup | MySqlDump | ~2m 35s | 4.66 GB |
Backup | MySqlBackup.NET | ~7m 48s | 4.59 GB |
Restore | MySql.exe | ~8m 41s | - |
Restore | MySqlBackup.NET | ~9m 41s | - |
Full details: Performance Benchmark Wiki
Additional Tools
Backup All Databases
Export all databases to separate SQL files with this sub-project:
MySqlBackup_All_DB
License
MySqlBackup.NET is released under The Unlicense, making it free for any use.
Conclusion
MySqlBackup.NET empowers developers and end-users alike with a robust, .NET-native solution for MySQL database management. Whether for desktop apps, web services, or automated backups, it’s a versatile addition to your toolkit.
Explore more on GitHub!
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net45 is compatible. net451 was computed. net452 was computed. net46 was computed. net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 is compatible. net472 was computed. net48 is compatible. net481 is compatible. |
-
.NETFramework 4.5
- dotConnect.Express.for.MySQL (>= 9.4.235)
-
.NETFramework 4.6.2
- dotConnect.Express.for.MySQL (>= 9.4.235)
-
.NETFramework 4.7.1
- dotConnect.Express.for.MySQL (>= 9.4.235)
-
.NETFramework 4.8
- dotConnect.Express.for.MySQL (>= 9.4.235)
-
.NETFramework 4.8.1
- dotConnect.Express.for.MySQL (>= 9.4.235)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.