本文目录导读:

配置数据库连接字符串的方法取决于你使用的编程语言、数据库类型以及应用程序框架,核心原理是一致的:提供一个包含服务器地址、端口、数据库名、用户名和密码的字符串。
下面我会从通用结构、主流数据库示例以及常见语言/框架的配置方式三个层面来讲解。
连接字符串的通用结构
一个典型的连接字符串通常包含以下关键参数(以最常见的 SQL Server 和 MySQL 为例):
- Server / Host / Data Source:数据库服务器的地址(IP 或域名)和端口。
- Database / Initial Catalog:要连接的数据库名称。
- User Id / UID:数据库登录用户名。
- Password / PWD:数据库登录密码。
- 其他参数:连接超时、字符编码、是否加密、连接池大小等。
主流数据库的连接字符串示例
A. MySQL / MariaDB
标准格式:
Server=localhost;Database=mydb;User Id=root;Password=MyPassword;
或者使用 MySQL 官方驱动推荐的格式:
server=localhost;port=3306;database=mydb;user=root;password=MyPassword;
注意事项:
- 端口默认为 3306,如果变了需显式指定
port=3307。 - 建议添加
SslMode=Preferred(或Required)来启用 SSL 加密。
B. SQL Server
标准格式(Windows 集成身份验证):
Server=localhost;Database=mydb;Trusted_Connection=True;
标准格式(SQL Server 身份验证,用户名密码):
Server=localhost;Database=mydb;User Id=sa;Password=MyPassword;
注意事项:
- SQL Server 实例是命名实例(
localhost\SQLEXPRESS),则Server=localhost\SQLEXPRESS。 - 端口默认为 1433,如果改了需写为
Server=localhost,1433。
C. PostgreSQL
标准格式:
Host=localhost;Port=5432;Database=mydb;Username=postgres;Password=MyPassword;
或者使用 PostgreSQL 的 URI 格式:
postgresql://postgres:MyPassword@localhost:5432/mydb
注意事项:
- 不同驱动(如 Npgsql 和 psycopg2)的参数名略有差异,但核心字段一致。
- 建议添加
SslMode=Require来强制 SSL 连接。
D. SQLite
SQLite 是本地文件数据库,连接字符串很简单:
Data Source=C:\path\to\mydb.sqlite;Version=3;
注意事项:
- 不需要服务器地址、用户名密码。
- 注意文件的读写权限。
E. MongoDB
MongoDB 使用 URI 格式:
mongodb://username:password@localhost:27017/mydb?authSource=admin
注意事项:
authSource指定认证数据库(通常是admin)。- 可以添加
retryWrites=true&w=majority等参数。
在不同语言/框架中的配置方式
A. .NET (C#) - 配置文件 (appsettings.json)
// appsettings.json
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=mydb;User Id=sa;Password=MyPassword;TrustServerCertificate=true;"
}
}
在代码中读取:
var connectionString = builder.Configuration.GetConnectionString("DefaultConnection");
B. Java (Spring Boot) - 配置文件 (application.properties 或 application.yml)
# application.properties spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=MyPassword spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
或 YAML 格式:
# application.yml
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC
username: root
password: MyPassword
C. Python (Django) - 配置文件 (settings.py)
# settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydb',
'USER': 'root',
'PASSWORD': 'MyPassword',
'HOST': 'localhost',
'PORT': '3306',
'OPTIONS': {
'charset': 'utf8mb4',
},
}
}
D. Node.js (Express + mysql2) - 环境变量或代码
// 推荐使用环境变量(.env 文件)
const connection = mysql.createConnection({
host: process.env.DB_HOST || 'localhost',
user: process.env.DB_USER || 'root',
password: process.env.DB_PASSWORD || 'MyPassword',
database: process.env.DB_NAME || 'mydb',
port: process.env.DB_PORT || 3306
});
E. PHP (Laravel) - 配置文件 (.env 文件)
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=mydb DB_USERNAME=root DB_PASSWORD=MyPassword
重要安全建议
- 绝不要将用户名密码硬编码在代码中。
- 使用环境变量或安全的配置管理工具(如 Azure Key Vault、AWS Secrets Manager、Vault)来存储敏感信息。
- 使用最小权限原则:为你的应用创建一个专门的数据库用户,只授予该应用所需的读/写/执行权限,而非使用 root 或管理员账户。
- 使用加密连接:在连接字符串中添加 SSL/TLS 相关参数(如
Encrypt=True、SslMode=Required),确保数据在传输过程中不被窃听。 - 设置连接超时:避免应用因数据库不可用而无限等待,
Connection Timeout=15。
配置连接字符串的关键步骤是:
- 确定数据库类型(MySQL, SQL Server, PostgreSQL 等)。
- 找到正确的参数名(Server, Database, User Id, Password 等)。
- 选择合适的配置位置(配置文件、环境变量、密钥管理服务)。
- 添加必要的安全(加密、超时、最小权限)。
如果你能告诉我你具体使用的编程语言、框架和数据库,我可以给出更精确的配置示例。