Windows部署MinIO对象存储
-
- 前言
- 一、MinIO核心优势(官网整理)
- 二、标准化目录搭建
-
- [2.1 部署环境](#2.1 部署环境)
- [2.2 固定三级目录(必建,不要改名)](#2.2 固定三级目录(必建,不要改名))
- [2.3 程序下载放置](#2.3 程序下载放置)
- [⚙️ 三、编写一键启动脚本 start-minio.bat](#⚙️ 三、编写一键启动脚本 start-minio.bat)
-
- [3.1 脚本存放位置](#3.1 脚本存放位置)
- [3.2 完整可直接复制脚本](#3.2 完整可直接复制脚本)
- [3.3 核心参数详解](#3.3 核心参数详解)
- 四、服务启动
- 五、新版MinIO权限核心问题
- 六、故障排查
前言
MinIO 是一款高性能、开源S3兼容对象存储,主打AI数据湖、业务文件存储、静态资源托管,支持私有化部署、多云适配,也是目前后端项目最常用的自建文件存储中间件。本文基于MinIO中文官网原版文档,从零标准化部署,全程可复现、无冗余操作。
官网地址汇总
✅ MinIO中文官网:https://www.minio.org.cn/
✅ MinIO Windows中文文档:https://www.minio.org.cn/docs/minio/windows/index.html
✅ Windows官方下载地址:https://www.minio.org.cn/download.shtml#/windows

一、MinIO核心优势(官网整理)
- 双授权协议:开源AGPL v3免费商用、企业商业授权可选
- 极致高性能:业界最快对象存储,集群读325GiB/s、写165GiB/s
- 百分百S3兼容:适配AWS S3 V2/V4 API,项目迁移零改代码
- 云原生适配:原生支持K8s,适配公有云、私有云、边缘设备
- 企业级能力:多站点复制、加密存储、文件防删除、IAM权限管控
- 轻量化:程序包小于100MB,Windows/ARM设备均可部署
适用场景:后端项目图片/附件存储、本地测试文件托管、AI数据集存储、小型团队私有文件服务
二、标准化目录搭建
2.1 部署环境
- 操作系统:Windows10 64位
- 部署模式:单节点单磁盘(开发测试专用)
- 部署盘符:推荐D盘(规避C盘权限、空间不足问题)
2.2 固定三级目录(必建,不要改名)
在D盘新建根目录 E:\disk_software\IT\MinIO,内部新建3个子文件夹,分工隔离:
shell
E:\disk_software\IT\MinIO
├─ bin # 存放minio.exe运行程序
├─ data # 存储桶、上传文件、对象数据目录
└─ logs # 服务运行日志目录,排查报错专用
2.3 程序下载放置
- 打开上方官方下载链接,下载Windows版
minio.exe - 将exe文件直接放入
E:\disk_software\IT\MinIO\bin - 禁止双击直接打开exe,必须通过bat脚本参数启动

⚙️ 三、编写一键启动脚本 start-minio.bat
3.1 脚本存放位置
脚本放置路径:E:\disk_software\IT\MinIO\start-minio.bat(和bin同级)
3.2 完整可直接复制脚本
bash
@echo off
:: 适配中文日志,防止控制台乱码
chcp 65001
echo.
echo ===================== MinIO 对象存储启动服务 =====================
echo [系统提示] 正在加载配置,启动存储服务...
echo.
:: 设置cmd窗口标题
title MinIO文件对象存储服务
:: ========== 自定义管理员账号密码 ==========
setx MINIO_ROOT_USER "minio"
setx MINIO_ROOT_PASSWORD "minioadmin"
:: ========== 端口配置(可自行修改) ==========
:: 浏览器控制台访问端口
set console_port=":9000"
:: 后端SDK、API调用端口(重点:代码连这个端口)
set api_port=":9001"
:: ========== 路径固定配置 ==========
set data_path="E:\disk_software\IT\MinIO\data"
set logs_path="E:\disk_software\IT\MinIO\logs\minio.log"
:: 切入程序目录,启动服务
cd E:\disk_software\IT\MinIO\bin
minio.exe server %data_path% --console-address %console_port% --address %api_port% >%logs_path%
echo [启动成功] 控制台地址:http://localhost:9000
echo [启动成功] API对接地址:http://localhost:9001
pause
3.3 核心参数详解
| 配置项 | 作用说明 | 使用场景 |
|---|---|---|
| 9000端口 | Web可视化控制台端口 | 浏览器登录、手动管理文件 |
| 9001端口 | S3标准API业务端口 | Java/Go/Python SDK代码对接 |
| setx 账号密码 | 写入系统用户环境变量 | 自定义后台登录凭据 |
四、服务启动
- 双击运行
start-minio.bat启动服务 - cmd窗口无报错即为启动成功,运行期间不可关闭窗口
- 浏览器访问:
http://localhost:9000

浏览器访问

五、新版MinIO权限核心问题
目前官网直下载全部为最新版本,新版本无下拉权限选择、无法可视化设置Public公开访问,所有新建桶固定权限如下:
test
Created on: Sun, Jun 21 2026 11:01:10 (GMT+8)
Access: PRIVATE
新版权限锁定原因:
- 版本阉割改动 :2025年下半年起MinIO新版,彻底移除Web控制台可视化一键改桶权限功能,取消
Public/Authenticated读写快捷选项 - 安全机制升级:适配SEC、金融合规规则,官方废弃简易一键公开外链功能,规避文件泄露风险
- 运行模式变更 :Windows单节点默认纠删码分布式模式,彻底废弃传统FS文件兼容模式,
legacy-fs参数永久废弃

六、故障排查
- 端口占用 :cmd执行
netstat -ano | findstr "9000"杀掉占用进程,修改脚本端口即可 - 账号密码错误:关闭全部终端重启脚本,优先使用临时set变量配置账号
- SDK上传报错:检查接口端口是否为9001,不要使用9000控制台端口
- 服务启动闪退 :①目录含中文空格 ②添加
legacy-fs废弃参数,删掉该参数即可启动 - 报错
flag provided but not defined: -legacy-fs:参数已官方废弃,删除参数,改用桶自定义JSON策略开放权限 - 新建桶仅PRIVATE无法改权限:新版功能阉割,降级2025.04稳定版
- mc匿名命令XML语法报错 :新版废弃
mc anonymous全套授权指令