MySqlConnector

Async MySQL Connector for .NET and .NET Core

Github stars Tracking Chart

Async MySQL Connector for .NET and .NET Core

This is an ADO.NET data
provider for MySQL. It provides implementations of
DbConnection, DbCommand, DbDataReader, DbTransaction—the classes
needed to query and update databases from managed code.

Complete documentation is available at the MySqlConnector Documentation Website.

Why Use This Library?

Async Support

This library implements true asynchronous I/O for database operations, without blocking
(or using Task.Run to run synchronous methods on a background thread). This greatly
improves the throughput of a web server that performs database operations.

Performance

This library outperforms Connector/NET (MySql.Data) on benchmarks:

Benchmark 1 Benchmark 2

(Client: MySqlConnector 0.44.0, Windows 10 x64; Server: MySQL Server 5.6.21, Unix)

Bug Fixes

This library fixes dozens of outstanding bugs in Connector/NET.

License

This library is MIT-licensed and may be freely distributed with commercial software.
Commercial software that uses Connector/NET may have to purchase a commercial license
from Oracle.

ORMs

This library is compatible with popular .NET ORMs including:

For Entity Framework support, use:

Build Status

Ubuntu 14.04, Windows x64, NuGet
---, ---, ---
Travis CI, AppVeyor, NuGet Pre Release

Building

Install the latest .NET Core.

To build and run the tests, clone the repo and execute:

dotnet restore
dotnet test tests\MySqlConnector.Tests

To run the side-by-side tests, see the instructions.

Goals

The goals of this project are:

  1. .NET Standard support: It must run on the full .NET Framework and all platforms supported by .NET Core.
  2. Async: All operations must be truly asynchronous whenever possible.
  3. High performance: Avoid unnecessary allocations and copies when reading data.
  4. Lightweight: Only the core of ADO.NET is implemented, not EF or Designer types.
  5. Managed: Managed code only, no native code.
  6. Independent: This is a clean-room reimplementation of the MySQL Protocol, not based on Connector/NET.

Cloning the full API of Connector/NET is not a goal of this project, although
it will try not to be gratuitously incompatible. For common scenarios, this package should
be a drop-in replacement.

License

This library is licensed under the MIT License.

Contributing

If you'd like to contribute to MySqlConnector, please read our contributing guidelines.

Main metrics

Overview
Name With Ownermysql-net/MySqlConnector
Primary LanguageC#
Program languageC# (Language Count: 5)
Platform
License:MIT License
所有者活动
Created At2016-03-31 21:54:37
Pushed At2025-06-12 01:35:26
Last Commit At2025-05-24 13:56:57
Release Count226
Last Release Name2.4.0 (Posted on 2024-11-12 12:15:08)
First Release Name0.15.2 (Posted on )
用户参与
Stargazers Count1.5k
Watchers Count70
Fork Count341
Commits Count2.9k
Has Issues Enabled
Issues Count1111
Issue Open Count90
Pull Requests Count301
Pull Requests Open Count1
Pull Requests Close Count91
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private