数据库如何安装
先确认数据库类型和版本,再按说明安装、导入和配置连接。
先看项目用的是哪个数据库
项目详情页的「项目参数」里标着数据库,下载之后也能从包里认出来——看连接串怎么写的,或者看 db / sql / database 目录里那个文件是什么后缀:
.mdf/.bak,连接串里有Server=localhost;User Id=sa→ SQL Server(.NET 项目最常见).sql里出现ENGINE=InnoDB、连接串端口是 3306 → MySQL / MariaDB- 端口 5432、连接串以
postgresql://开头 → PostgreSQL mongodb://、端口 27017 → MongoDB- 包里直接躺着一个
.db/.sqlite文件 → SQLite,什么都不用装 - 另外见到 6379 端口的,那是 Redis,一般是缓存或会话,跟主库是两回事,两个都得起来
下面先讲 MySQL、PostgreSQL、MongoDB、SQLite、Redis,再讲 SQL Server 的完整安装步骤。
MySQL / PostgreSQL / MongoDB / SQLite / Redis
这几种都有官方安装包,装完是一个后台服务;而用 Docker 起一条命令最省事——不写注册表、不留服务,删掉容器就干净了。下面每种给一行 Docker 命令和一个图形客户端:
- MySQL(端口 3306):
docker run --name mysql -e MYSQL_ROOT_PASSWORD=你的密码 -p 3306:3306 -d mysql:8。不用 Docker 的话,Windows 上装 phpStudy / XAMPP 最快(PHP 项目本来也要用它)。客户端用 MySQL Workbench、Navicat、DBeaver 都行 - MariaDB:跟 MySQL 基本通用,把上面镜像换成
mariadb:11即可,客户端和导入方式一样 - PostgreSQL(端口 5432):
docker run --name pg -e POSTGRES_PASSWORD=你的密码 -p 5432:5432 -d postgres:16。客户端用 pgAdmin 或 DBeaver - MongoDB(端口 27017):
docker run --name mongo -p 27017:27017 -d mongo:7。客户端用 MongoDB Compass - Redis(端口 6379):
docker run --name redis -p 6379:6379 -d redis:7。它一般只当缓存,里面没有业务数据,起来就行 - SQLite:不用装任何服务,数据库就是包里那个文件,项目跑起来直接读它。想看看里面有什么,用 DB Browser for SQLite 打开
项目里带了 docker-compose.yml 的话更省事:一句 docker compose up -d,数据库连同初始化脚本一起起好,端口和密码也都按作者写的配好了。
SQL Server
装哪个版本?
先核对项目支持的数据库版本及微软支持的升级路径;高版本备份不能还原到低版本,老版本数据库也可能需要分步升级。项目支持时可选 SQL Server 2022:
- Developer 版:功能与企业版相同,开发和测试免费,本机学习用它就对了
- Express 版:免费且可商用,单库上限 10GB,适合小型站点
- LocalDB:极简版,随 Visual Studio 一起装,不用单独配服务,适合只想把项目跑起来看看
下载地址:微软官网 SQL Server 下载页
重要:管理工具要单独下载
从 SQL Server 2016 起,图形化管理工具 SSMS(SQL Server Management Studio)不再随数据库一起安装,需要到 官网单独下载(免费)。很多人装完数据库找不到管理界面,就是卡在这一步。
也可以用 Visual Studio 自带的「SQL Server 对象资源管理器」等受支持的管理工具;工具版本需与数据库兼容。
安装步骤
下面按安装选项说明操作,不同版本的界面和支持范围可能不同。请先核对项目要求,再参考微软 SQL Server 安装向导说明。
- 下载安装程序并运行,打开「SQL Server 安装中心」
- 点击左侧「安装」,选择「全新 SQL Server 独立安装或向现有安装添加功能」
- 版本选择处选「Developer」(免费,无需产品密钥;若装 Express 版则不会有这一步)
- 勾选「我接受许可条款」,继续下一步
- 安装规则检查,没有红色错误提示就继续(防火墙一类的黄色警告不影响本机使用)
- 功能选择:勾选「数据库引擎服务」即可满足运行项目的需要,其余按需选择
- 实例配置:选「默认实例」最省事,连接时服务器名直接写
localhost或.;若选命名实例,连接时要写成localhost\实例名
- 服务器配置:保持默认账户即可
- 数据库引擎配置(关键一步):身份验证模式选「混合模式」,设置 sa 账户密码并牢记——站内项目的连接字符串大多用 sa 账户;再点「添加当前用户」把自己加为管理员
- 确认无误后点「安装」,等待完成(十几分钟不等),最后关闭安装向导
- 安装 SSMS 后打开,服务器名填
localhost,身份验证选「SQL Server 身份验证」、用 sa 和刚设的密码登录,能进管理界面就说明装好了
更快的办法:用 Docker
装过 Docker 的话,一条命令就能起一个 SQL Server,不占用系统、删起来也干净:
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=你的强密码" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2022-latest
随后连接串里的服务器写 localhost,1433 即可。密码要满足复杂度要求(大小写字母 + 数字 + 符号,至少 8 位),否则容器会启动失败。
把项目的数据库导进来
源码包里的数据库文件通常是这两种形式:
- .mdf / .ldf 文件:在 SSMS 里右键「数据库」→「附加」,选择 .mdf 文件即可
- .bak 备份文件:右键「数据库」→「还原数据库」→「设备」,选择 .bak 文件还原
- .sql 脚本:先新建同名数据库,再打开脚本执行
其它数据库的 .sql 脚本走命令行最稳(图形客户端导大文件常常超时):
- MySQL:先
CREATE DATABASE 库名 DEFAULT CHARSET utf8mb4;,再mysql -u root -p 库名 < 脚本.sql - PostgreSQL:
createdb -U postgres 库名,再psql -U postgres -d 库名 -f 脚本.sql - MongoDB:包里多半是导出的 json / bson,用
mongoimport或mongorestore - SQLite:把那个
.db文件放回项目里配置指定的路径就行,不用导
MySQL 导入报乱码或者 Incorrect string value,是建库时的字符集不对——用 utf8mb4 重新建一次再导。
导入后别忘了修改项目里的连接字符串,把服务器名、数据库名、账号密码换成你自己的。改哪个文件按技术栈不同(.NET 在 Web.config / appsettings.json,Java 在 application.yml,PHP 多在 .env,Python 在 settings.py),逐条列在「常见问题及解答」第一条里。
常见问题
- 附加 .mdf 报版本错误:项目的数据库是用更高版本 SQL Server 生成的,换更高版本再试;旧库升级前先备份,并核对受支持的升级路径
- sa 登录失败(错误 18456):安装时没选混合模式。可在 SSMS 里右键服务器 →「属性」→「安全性」改为「SQL Server 和 Windows 身份验证模式」,再重启 SQL Server 服务
- 连不上服务器:检查「SQL Server 配置管理器」里的服务是否已启动、TCP/IP 协议是否启用
- MySQL 8 连接报
caching_sha2_password相关错误:老驱动不认新的默认认证方式。优先升级项目里的数据库驱动,并按数据库当前支持的认证方式配置 - Docker 起的库本机连不上:确认
-p端口映射写了,连接串里的主机写127.0.0.1而不是容器名(容器名只有在同一个 compose 网络里才解析得出来) - 容器一删数据就没了:上面那几行命令没挂数据卷,是给本机跑项目看看用的。想留住数据加一个
-v,把容器里的数据目录映射到本机
