C#如何连接MySQL数据库 C#使用MySqlConnector教程

来源:这里教程网 时间:2026-02-21 17:42:51 作者:

用C#连接MySQL数据库,推荐使用 MySqlConnector(开源、跨平台、支持.NET 5/6/7/8、异步友好、无Oracle依赖),它比官方的 MySql.Data 更轻量、更现代。

1. 安装 MySqlConnector 包

在项目中通过 NuGet 安装:

Visual Studio:右键项目 → “管理 NuGet 包” → 搜索 MySqlConnector → 安装 命令行(.NET CLI):
dotnet add package MySqlConnector

安装后无需额外配置,不依赖 MySQL 官方 Connector/NET 或本地 MySQL 安装。

2. 编写连接与查询代码

基本步骤:创建连接字符串 → 实例化 MySqlConnection → 打开连接 → 执行命令(查询或修改)→ 正确释放资源。

示例(同步查询):

string connectionString = "Server=localhost;Port=3306;Database=testdb;User ID=root;Password=123456;";
using var connection = new MySqlConnection(connectionString);
await connection.OpenAsync(); // 推荐用 async/await
<p>using var cmd = connection.CreateCommand();
cmd.CommandText = "SELECT Name, Age FROM users WHERE Age > @minAge";
cmd.Parameters.AddWithValue("@minAge", 18);</p><p>using var reader = await cmd.ExecuteReaderAsync();
while (await reader.ReadAsync())
{
string name = reader.GetString("Name");
int age = reader.GetInt32("Age");
Console.WriteLine($"{name}, {age}");
}

注意点:

始终用 @参数名 防止 SQL 注入,不要拼接字符串
using
确保连接、命令、读取器自动释放
优先使用
OpenAsync()
ExecuteReaderAsync()
等异步方法

3. 常见连接字符串参数

基础格式:

"Server=...;Port=...;Database=...;User ID=...;Password=...;"

常用可选参数:

SslMode=none:禁用 SSL(开发环境常用,生产建议用
Required
Allow User Variables=true:支持用户变量(如
@var:=1
Connection Timeout=30:连接超时秒数(默认15) Maximum Pool Size=100:连接池最大连接数(按需调整)

本地测试完整示例:

"Server=127.0.0.1;Port=3306;Database=myapp;User ID=appuser;Password=pass123;SslMode=None;"

4. 处理异常与连接复用

连接失败常见原因:服务未启动、账号密码错、防火墙拦截、权限不足。

建议做法:

try-catch(MySqlException ex)
捕获数据库层异常
不要手动维护长连接;MySqlConnector 自带连接池,重复使用相同连接字符串即可高效复用 避免在类字段里存 MySqlConnection 实例;每次操作新建 connection 对象(轻量且线程安全)

连接池会自动管理打开/关闭,

connection.Close()
Dispose()
实际只是归还到池中。

基本上就这些。MySqlConnector 上手快、文档清、问题少,是 C# 连 MySQL 的当前首选方案。

相关推荐

热文推荐