MinIO 的 Web 控制台适合临时查看,真正做批量上传、桶权限检查和脚本化运维时,mc 客户端更顺手。它的命令风格接近 Linux 文件操作:配置一个别名,然后对 alias/bucket/path 做 ls、cp、rm、mb、rb。
安装和配置 host
Mac 上可以用 Homebrew 安装:
brew install minio-mc
添加一个 MinIO 服务别名:
mc alias set local-minio http://127.0.0.1:9000 ACCESS_KEY SECRET_KEY
旧版本文档里常见 mc config host add,新版本更推荐 mc alias set。无论用哪种写法,核心都是把 endpoint、access key 和 secret key 写入本机配置。
注意:访问凭据不要写进公开文档和脚本默认值。个人本机可以放在 ~/.mc/config.json 或私有配置里,仓库里只保留占位。
查看已经配置的 host:
mc alias list
删除 host:
mc alias remove local-minio
bucket 常用操作
创建 bucket:
mc mb local-minio/images
查看 bucket:
mc ls local-minio
mc ls local-minio/images
上传文件:
mc cp ./avatar.webp local-minio/images/avatar.webp
递归上传目录:
mc cp ./dist local-minio/images/dist --recursive
删除文件:
mc rm local-minio/images/avatar.webp
删除目录要显式递归和确认:
mc rm local-minio/images/dist --recursive --force
删除空 bucket:
mc rb local-minio/images
如果 bucket 里还有对象,mc rb --force 风险很高,执行前要先 mc ls 或 dry-run 式地列清楚范围,不要在脚本里默认强删。
匿名访问权限怎么理解
对象存储常见两类访问:
- 私有:必须带签名或凭据才能访问。
- 公开读:浏览器可以直接访问对象 URL。
查看匿名权限:
mc anonymous get local-minio/images
mc anonymous get-json local-minio/images
设置公开下载:
mc anonymous set download local-minio/images
取消匿名访问:
mc anonymous set none local-minio/images
公开读适合博客图片、公开附件、静态资源;不适合用户上传的隐私文件、后台导出、带身份信息的文档。只要 bucket 公开读,就要默认里面每个对象都可能被外部直接访问。
排障先看四层
MinIO 访问失败时,可以按顺序查:
- endpoint:地址、端口、HTTP/HTTPS 是否正确。
- 凭据:access key / secret key 是否匹配。
- bucket:桶是否存在,路径是否写错。
- policy:匿名权限或用户策略是否允许当前动作。
如果控制台能访问,但 mc 不行,重点看 alias 配置和网络;如果 mc ls 可以,mc cp 不行,重点看写权限;如果上传成功但浏览器打不开,重点看匿名读策略和反向代理。
最后抓住一句话
mc 的心智模型很简单:先给 MinIO 服务起别名,再像操作文件系统一样操作 bucket 和对象。真正要谨慎的是凭据和权限,尤其是公开读和递归删除,这两类动作一定要先确认范围。




