.net程序连接mysql数据库配置文件要怎么写啊,求简单点的步骤和注意事项
- 问答
- 2026-01-06 08:49:14
- 3
最常用也最简单的配置文件就是appsettings.json,这个文件在ASP.NET Core项目里是标配,在控制台程序或WPF等程序中你也可以手动添加并使用它,它的好处是格式简单,就是纯文本的JSON,一看就懂。
第一步:创建或找到配置文件
在你的项目根目录下,找到名为appsettings.json的文件,如果没有,你就右键点击项目 -> 添加 -> 新建项 -> 选择“ASP.NET 配置文件”或直接创建一个叫appsettings.json的文本文件。
第二步:编写连接字符串
在appsettings.json文件里,你需要添加一个叫做ConnectionStrings的节点,这个节点下面可以放很多个不同名字的连接字符串,下面是一个最简单的写法:

{
"ConnectionStrings": {
"DefaultConnection": "server=localhost;database=你的数据库名;uid=root;pwd=你的密码;"
},
// 其他配置项...
}
我来解释一下上面这行连接字符串里每个部分的意思,你照着改就行:
server:这里填你的MySQL数据库在哪里,如果数据库和你写的程序在同一台电脑上,就写localhost或0.0.1,如果在另一台服务器上,就填那台服务器的IP地址或者网址。database:这里填你要连接的那个具体数据库的名字,比如你创建了一个叫my_shop的数据库,这里就填my_shop。uid或user:这里填登录数据库的用户名,刚安装MySQL时,默认的最高权限用户通常是root。pwd或password:这里填对应用户的密码,就是你安装MySQL时自己设的那个密码。
第三步:在程序中读取配置
光有配置文件不行,你的程序得能读到它,假设你用的是ASP.NET Core,这个过程已经帮你自动化了,你只需要在需要操作数据库的地方(比如控制器Controller里)通过一个叫“依赖注入”的方式获取配置。

就是在你的类文件的构造函数里,声明需要一个IConfiguration接口的参数,ASP.NET Core运行时会自动把这个配置对象给你送过来,代码如下:
using Microsoft.AspNetCore.Mvc;
using MySql.Data.MySqlClient; // 这是MySQL的官方驱动
using System.Data;
public class HomeController : Controller
{
private readonly IConfiguration _configuration;
// 这个构造函数是关键,系统会自动把配置传进来
public HomeController(IConfiguration configuration)
{
_configuration = configuration;
}
public IActionResult Index()
{
// 1. 从配置中获取连接字符串
string connectionString = _configuration.GetConnectionString("DefaultConnection");
// 2. 创建数据库连接
using (var connection = new MySqlConnection(connectionString))
{
// 3. 打开连接
connection.Open();
// 4. 这里就可以写SQL命令来查询或操作数据库了
// var command = new MySqlCommand("SELECT * FROM Users", connection);
// ...
}
return View();
}
}
如果是控制台程序怎么办?
控制台程序没那么多自动化的东西,需要你手动做一点工作,你需要先安装一个叫Microsoft.Extensions.Configuration.Json的NuGet包,然后写代码手动加载appsettings.json文件。
using Microsoft.Extensions.Configuration;
using MySql.Data.MySqlClient;
using System.IO;
class Program
{
static void Main()
{
// 1. 构建一个配置管理器,告诉它去读当前目录下的appsettings.json文件
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
var configuration = builder.Build();
// 2. 获取连接字符串(后面就和ASP.NET Core里一样了)
string connectionString = configuration.GetConnectionString("DefaultConnection");
using (var connection = new MySqlConnection(connectionString))
{
connection.Open();
Console.WriteLine("数据库连接成功!");
// ... 你的数据库操作代码
}
}
}
重要的注意事项(避坑指南)
- 安装NuGet包:无论哪种项目,你都必须安装MySQL的官方.NET驱动包,这个包叫
MySql.Data,安装方法:在Visual Studio里,右键点击你的项目 -> “管理NuGet程序包” -> 浏览 -> 搜索“MySql.Data” -> 安装,这是最重要的一步,没这个包,上面的代码一行都跑不了。 - 密码特殊字符:如果你的数据库密码里包含特殊字符, ,
&等,可能会和连接字符串的语法冲突,最简单的解决办法是用反斜杠\来转义这个特殊字符,密码是p@ssword,你就写成p\@ssword,如果麻烦,建议改个纯字母数字的密码用于测试。 - 千万别把配置文件上传到Git等版本库:
appsettings.json里明文写着你的数据库密码,这非常不安全,一旦你把项目代码上传到公开的GitHub等地方,你的数据库就完全暴露了。正确的做法是:- 创建一个
appsettings.Development.json文件,在这里面写你本地开发用的连接字符串(密码可以简单点)。 - 然后让顶层的
appsettings.json文件忽略这个开发配置,或者只放一些不敏感的公共配置。 - 最重要的一步是:创建一个叫
appsettings.example.json的文件,里面只写连接字符串的结构,但不填真实的密码和敏感信息,然后把这个示例文件上传到Git,而真实的、带密码的appsettings.json和appsettings.Development.json文件,一定要写入项目的.gitignore文件中,确保不会被意外上传。// appsettings.example.json 内容示例 { "ConnectionStrings": { "DefaultConnection": "server=localhost;database=my_database_name;uid=username;pwd=your_password_here;" } }
- 创建一个
- 检查MySQL服务是否启动:有时候代码没问题,但你的MySQL数据库服务根本没有启动,去Windows的服务管理器里看看MySQL的服务是不是处于“正在运行”的状态。
- 用户权限:确保你用的数据库用户名和密码是正确的,并且这个用户有权限访问你指定的那个数据库。
总结一下最简单的步骤就是:1)在appsettings.json里按格式写好连接字符串;2)在项目里安装MySql.Data包;3)在代码里用GetConnectionString拿到字符串,然后创建连接,最后一定要注意密码安全的问题。
本文由帖慧艳于2026-01-06发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/75471.html
