1. 配置MinIO客户端(mc)
在使用mc管理MinIO存储桶前,需先配置客户端与MinIO服务器的连接。通过mc alias set命令设置别名,语法为:
mc alias set <别名>
例如:mc alias set myminio http://localhost:9000 minioadmin minioadmin(minioadmin为默认访问密钥,实际使用时需替换为自定义密钥)。
2. 创建存储桶(mb命令)
使用mc mb命令在MinIO服务器上创建存储桶,语法为:
mc mb <别名>/<存储桶名称>
例如:mc mb myminio/mybucket(mybucket为存储桶名称,需符合命名规则:仅小写字母、数字、连字符,长度1-63字符)。
3. 列出存储桶(ls命令)
通过mc ls命令列出MinIO服务器上的所有存储桶,语法为:
mc ls <别名>
例如:mc ls myminio(将显示所有存储桶的创建时间及名称)。
4. 上传/下载对象(cp命令)
- 上传文件到存储桶:使用
mc cp命令将本地文件上传至指定存储桶,语法为:
mc cp <本地文件路径> <别名>/<存储桶名称>
例如:mc cp localfile.txt myminio/mybucket。 - 下载存储桶中的文件:将存储桶中的对象下载至本地,语法为:
mc cp <别名>/<存储桶名称>/<对象名称> <本地路径>
例如:mc cp myminio/mybucket/localfile.txt .(.表示当前目录)。
5. 删除对象/存储桶(rm/rb命令)
- 删除存储桶中的单个对象:使用
mc rm命令,语法为:
mc rm <别名>/<存储桶名称>/<对象名称>
例如:mc rm myminio/mybucket/localfile.txt。 - 删除存储桶中的所有对象:添加
-r参数递归删除,语法为:
mc rm -r <别名>/<存储桶名称>/*
例如:mc rm -r myminio/mybucket/*。 - 删除整个存储桶:使用
mc rb命令(需确保存储桶为空,或添加--force强制删除),语法为:
mc rb <别名>/<存储桶名称>(强制删除:mc rb --force <别名>/<存储桶名称>)
例如:mc rb myminio/mybucket。
6. 设置访问策略(policy命令)
通过mc policy set命令配置存储桶的访问权限,语法为:
mc policy set <别名>/<存储桶名称> <策略类型>
支持的策略类型包括:private(默认,仅所有者可访问)、public-read(公开读取,对象可被任何人读取)、public-read-write(公开读写,对象可被任何人读写)。
例如:mc policy set myminio/mybucket public-read(将存储桶设置为公开读取)。
7. 配置生命周期规则(ilm命令)
使用mc ilm命令管理存储桶的对象生命周期,例如设置对象过期时间。语法为:
mc ilm add --expiry-days <天数> <别名>/<存储桶名称>
例如:mc ilm add --expiry-days 30 myminio/mybucket(30天后自动删除存储桶中的所有对象)。
8. 设置对象标签(tag命令)
通过mc tag命令为存储桶或对象添加标签,用于分类管理。常用命令:
- 添加标签:
mc tag set <别名>/<存储桶名称> <键> <值>
例如:mc tag set myminio/mybucket env production(为存储桶添加env=production标签)。 - 列出标签:
mc tag list <别名>/<存储桶名称> - 删除标签:
mc tag remove <别名>/<存储桶名称> <键>。
9. 监控存储桶事件(watch/events命令)
- 监控存储桶事件:使用
mc watch命令实时监听存储桶中的对象变化(如上传、删除),语法为:
mc watch <别名>/<存储桶名称>
例如:mc watch myminio/mybucket(显示存储桶中的所有事件)。 - 管理事件通知:通过
mc events命令配置事件的持久化通知(如发送至消息队列),语法为:
mc events add <别名>/<存储桶名称> <事件类型> <目标地址>
例如:mc events add myminio/mybucket s3:ObjectCreated:* http://localhost:9001/notify(当对象创建时发送通知至指定HTTP地址)。