安装IIS和MySQL数据库的步骤是什么?,怎么安装
- 前端开发
- 2026-08-09
- 5
IIS可以正常安装和运行MySQL,推荐使用MySQL Community Server官方安装包,配合PHP Manager扩展,在Windows服务器上搭建完整的Web运行环境。很多站长和管理员在Windows服务器上部署网站时,习惯性认为IIS只能搭配SQL Server,实际上IIS和MySQL的整合方案非常成熟,国内大量中小企业的官网、外贸站和内部管理系统都在跑这套组合。
IIS怎么安装MySQL:从下载到配置的完整步骤
IIS本身不挑数据库,它通过FastCGI把PHP请求转发给PHP解释器,再由PHP去连接MySQL,所以整个安装链路实际是三步:装MySQL、装PHP、在IIS里挂上PHP并测试连通。
IIS环境MySQL安装详细步骤
第一步:下载MySQL Community Server。 去MySQL官网选Windows (x86, 64-bit)的ZIP Archive版本,这个版本不需要安装向导,解压就能用,MSI安装版适合不太熟悉命令行的用户,但ZIP版更干净,便于排查问题。
第二步:初始化MySQL。 解压到比如C:mysql目录,然后以管理员身份打开CMD,进入C:mysqlbin,执行:
mysqld --initialize-insecure
这条命令会在C:mysqldata目录生成初始数据文件,并且root账号是空密码,如果你用--initialize参数,会生成一个随机密码,后续要自己去data目录下的.err文件里找。
第三步:把MySQL注册成Windows服务。 执行:
mysqld --install MySQL --defaults-file="C:mysqlmy.ini"
接着在C:mysql目录手动创建一个my.ini配置文件,至少包含以下内容:
[mysqld] basedir=C:/mysql datadir=C:/mysql/data port=3306 character-set-server=utf8mb4
然后执行net start MySQL启动服务。

第四步:安装PHP并配置IIS。 下载PHP 8.x的Non-Thread Safe版本,解压到C:php,在IIS的“处理程序映射”里添加一个模块映射,请求路径填.php,模块选FastCgiModule,可执行文件指向C:phpphp-cgi.exe,再把C:php目录加入系统PATH环境变量。
第五步:修改php.ini。 在C:php目录找到php.ini-development,复制一份重命名为php.ini,打开后去掉这两行前面的分号:
extension=mysqli extension=pdo_mysql
同时把extension_dir设置为C:phpext。
安装后配置PHP连接MySQL
在IIS网站根目录新建一个test.php文件,写入以下代码:
<?php $conn = new mysqli('127.0.0.1', 'root', '', 'mysql'); if ($conn->connect_error) { die('连接失败: ' . $conn->connect_error); } echo 'MySQL连接正常'; $conn->close(); ?>
浏览器访问http://localhost/test.php,如果显示“MySQL连接正常”,整个链路就通了。
IIS搭配MySQL和PHP哪个好:常见方案对比
这是一个被反复问到的问题,尤其在做技术选型的时候,IIS+MySQL这套组合,和Apache+MySQL、Nginx+MySQL相比,各有明确的适用边界。

| 对比维度 | IIS + MySQL | Apache + MySQL | Nginx + MySQL |
|---|---|---|---|
| 系统要求 | Windows Server | 跨平台 | 跨平台 |
| 配置难度 | 中等,图形化界面多 | 较低,配置文件直观 | 较高,需命令行 |
| 性能表现 | 静态文件处理一般,PHP运行稳定 | 稳定均衡 | 高并发下静态资源优势明显 |
| Windows整合度 | 极高,域认证、权限管理直接复用 | 一般 | 较低 |
| 维护成本 | 低,Windows运维即可 | 中 | 中高 |
如果你用的是国内云厂商的Windows云服务器,比如阿里云、西西安全的Windows Server 2019或2022,IIS是预装好的,直接用IIS+MySQL能省掉不少环境搭建的时间。 行业共识认为,Windows环境下IIS的整合度最高,操作门槛低,适合没有专职Linux运维的企业。
有个容易忽略的点:IIS的FastCGI设置里,需要把php-cgi.exe的“监控对php.ini的更改”设为True,否则修改PHP配置后需要重启IIS才能生效,IIS的应用程序池默认回收时间是20分钟,如果你的MySQL连接池没有做好重连机制,可能会出现“连接过期”的报错。
Windows服务器IIS环境MySQL配置的常见问题
这套环境跑起来之后,有几个高频问题值得提前排查。
连接失败:无法通过套接字连接到本地MySQL服务器
多数情况下是MySQL服务没启动,或者端口被占用,执行netstat -ano | findstr 3306查看端口状态,如果端口被其他程序占用,修改my.ini里的port参数,或者在防火墙里放行3306端口。
中文乱码问题
在my.ini里设置character-set-server=utf8mb4还不够,连接字符串里也要指定字符集,PHP这边用mysqli连接时,在new mysqli之后执行一句$conn->set_charset('utf8mb4'),能解决大部分中文乱码问题。
64位系统下PHP版本务必选对
IIS 7.5以上版本在64位Windows上运行,一定要下载64位的PHP版本,并且在IIS的“应用程序池”里把“启用32位应用程序”设为False,选错版本会导致PHP进程反复崩溃,页面加载超时。

性能调优的几个参数
MySQL这边,my.ini里的max_connections默认只有151,如果网站并发稍微大一点,很容易报“Too many connections”,建议根据服务器内存调整,2G内存的机器可以设为500。innodb_buffer_pool_size建议设置为物理内存的50%左右,这是InnoDB引擎性能的关键参数。
PHP这边,php.ini里的memory_limit默认128M,跑WordPress或ThinkPHP这类框架时建议调到256M。max_execution_time默认30秒,如果程序里有批量导入操作,可以适当调大。
IIS搭配MySQL的具体应用场景
这套环境在实际项目中用得最多的有三类场景。
企业官网和外贸站。 这类站点访问量不大,但对稳定性和管理便捷性要求高,Windows服务器上部署IIS+MySQL,配合WordPress或帝国CMS,几分钟就能上线,外贸站经常需要配置多个域名和SSL证书,IIS的站点绑定和证书管理界面比Apache直观得多。
小程序和后端接口服务。 很多小程序后端用PHP写接口,数据库用MySQL,IIS自带的URL Rewrite模块可以很方便地把重写规则写进web.config文件,实现伪静态和API路由转发,对于日活几千级别的小程序后端,这套组合完全够用。
企业内部管理系统。 像OA、进销存、CRM这类系统,通常部署在内网Windows服务器上,IIS支持Windows身份认证,可以直接复用域账号体系,员工用域账号登录系统,省掉单独的账号管理模块,这一点在企业场景里非常实用。
常见问题解答
IIS怎么安装MySQL并实现PHP连接?
下载MySQL Community Server ZIP版,解压后执行mysqld --initialize-insecure初始化,再执行mysqld --install注册服务并启动,PHP方面下载Non-Thread Safe版本,在IIS处理程序映射里添加FastCGI模块映射指向php-cgi.exe,修改php.ini启用mysqli和pdo_mysql扩展,然后在网站目录写一个phpinfo()文件验证配置。
IIS和Apache运行MySQL哪个更稳定?
两者在稳定性上没有本质差异,MySQL作为独立数据库服务,不依赖Web服务器类型,真正的差异在于环境的一致性:IIS是Windows系统组件,与Windows Server的兼容性经过微软官方测试,后续系统更新不会影响IIS运行;Apache在Windows上需要依赖第三方编译版本,升级和修复漏洞的节奏相对滞后,对于长期运维的Windows服务器,IIS更省心。
Docker方式部署MySQL和原生安装哪个更适合IIS环境?
如果服务器上只跑一个站点,原生安装更直接,资源占用少,排查问题也方便,如果一台服务器要跑多个独立项目,每个项目需要不同版本的MySQL,Docker更合适,Docker Desktop在Windows Server上需要开启Hyper-V或WSL2,对服务器配置有一定要求,2G内存以下的机器不建议用。