一.minio安装与使用

目录

1.minio介绍

2.minio安装

2.1.下载

2.2.安装

2.3.警告解决

2.3.1临时设置端口

2.3.2永久环境变量设置用户密码(不推荐)

2.4.启动成功

3.客户端mc

3.1下载

3.2运行

3.3客户端常用命令

 1.添加一个云存储服务

 2.查看别名下的bucket

3.创建bucket

4.显示文件和对象内容

5.cp拷贝(上传)文件

6.查找find


gitee:https://gitee.com/pythonloser/springboot-minio/tree/master

一.minio安装与使用:https://blog.csdn.net/xixiyuguang/article/details/119344480

二.minio整合springboot、文件上传下载、增删改查bucket和object:https://blog.csdn.net/xixiyuguang/article/details/119447614

三.minio 的分布式部署、单节点多磁盘、多节点模式:https://blog.csdn.net/xixiyuguang/article/details/119456729

四.minio前端获取签名地址直传minio文件服务器(前端直传):https://blog.csdn.net/xixiyuguang/article/details/119571051

1.minio介绍

MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。

MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。

官网地址:http://minio.org.cn/download.shtml#/windows

2.minio安装

2.1.下载

服务端下载地址:http://dl.minio.org.cn/server/minio/release/windows-amd64/minio.exe

2.2.安装

服务端运行

minio.exe server  D:\minio\file

2.3.警告解决

WARNING: Console endpoint is listening on a dynamic port (52204), please use --console-address ":PORT" to choose a static port.
WARNING: Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables


# 密码长度
ERROR Unable to validate credentials inherited from the shell environment: Invalid credentials
      > Please provide correct credentials
      HINT:
        Access key length should be at least 3, and secret key length at least 8 characters

2.3.1临时设置端口

set MINIO_ROOT_USER=admin
set MINIO_ROOT_PASSWORD=12345678

minio.exe server  D:\minio\file --console-address "127.0.0.1:9000"  --address "127.0.0.1:9090" 

2.3.2永久环境变量设置用户密码(不推荐)

环境变量设置

2.4.启动成功

启动脚本

set MINIO_ROOT_USER=admin
set MINIO_ROOT_PASSWORD=12345678
minio.exe server  D:\minio\file --console-address "127.0.0.1:9000"  --address "127.0.0.1:9090"  

 注意这句话客户端会用到

Command-line: https://docs.min.io/docs/minio-client-quickstart-guide
   $ mc.exe alias set myminio http://127.0.0.1:9090 admin 12345678

2.5linux下安装

wget   http://dl.minio.org.cn/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /mnt/data

3.客户端mc

3.1下载

客户端下载地址:http://dl.minio.org.cn/client/mc/release/windows-amd64/mc.exe

3.2运行

3.3客户端常用命令

MinIO Client (mc)为ls,cat,cp,mirror,diff,find等UNIX命令提供了一种替代方案。它支持文件系统和兼容Amazon S3的云存储服务(AWS Signature v2和v4)。MinIO服务端中并没有自带客户端,所以我们需要安装配置完客户端后才能使用。

ls       列出文件和文件夹。
mb       创建一个存储桶或一个文件夹。
cat      显示文件和对象内容。
pipe     将一个STDIN重定向到一个对象或者文件或者STDOUT。
share    生成用于共享的URL。
cp       拷贝文件和对象。
mirror   给存储桶和文件夹做镜像。
find     基于参数查找文件。
diff     对两个文件夹或者存储桶比较差异。
rm       删除文件和对象。
events   管理对象通知。
watch    监听文件和对象的事件。
policy   管理访问策略。
session  为cp命令管理保存的会话。
config   管理mc配置文件。
update   检查软件更新。
version  输出版本信息。

 1.添加一个云存储服务

添加一个或多个S3兼容的服务,请参考下面说明。mc将所有的配置信息都存储在~/.mc/config.json文件中。

Copymc config host add <ALIAS> <YOUR-S3-ENDPOINT> <YOUR-ACCESS-KEY> <YOUR-SECRET-KEY> [--api API-SIGNATURE]

别名就是给你的云存储服务起了一个短点的外号。S3 endpoint,access key和secret key是你的云存储服务提供的。API签名是可选参数,默认情况下,它被设置为"S3v4"。

 mc config host add minio http://127.0.0.1:9090 admin 12345678 --api s3v4

 2.查看别名下的bucket

D:\minio>mc config host add minio http://127.0.0.1:9090 admin 12345678 --api s3v4
Added `minio` successfully.

D:\minio>mc ls minio
[2021-08-03 14:56:35 CST]     0B test1\

D:\minio>mc ls minio/test1

D:\minio>mc ls minio/test1
[2021-08-03 15:14:53 CST] 5.5KiB 01-log.png

D:\minio>

3.创建bucket

D:\minio>mc mb minio/test2
Bucket created successfully `minio/test2`.

D:\minio>mc ls minio
[2021-08-03 14:56:35 CST]     0B test1\
[2021-08-03 15:18:11 CST]     0B test2\

D:\minio>

4.显示文件和对象内容

D:\minio>mc cat minio/test1/新建文本文档.txt
123132132
lku

5.cp拷贝(上传)文件

D:\minio>mc cp test.txt minio/test1
test.txt:             10 B / 10 B [========================================================================] 143 B/s 0s
D:\minio>mc ls minio/test1
[2021-08-03 15:14:53 CST] 5.5KiB 01-log.png
[2021-08-03 15:24:02 CST]    10B test.txt
[2021-08-03 15:21:03 CST]    22B 新建文本文档.txt

6.查找find

D:\minio>mc find minio/test1 --name "*.txt"
minio/test1/test.txt
minio/test1/新建文本文档.txt
 

4.Java操作

4.1上传

package com.yg.springboot.util.minio;

import io.minio.BucketExistsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
import io.minio.UploadObjectArgs;
import io.minio.errors.MinioException;

import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;

public class FileUploader {
    /**
     * bucket名称
     */
    private final static String bucketName = "test";

    public static void main(String[] args) throws IOException, NoSuchAlgorithmException, InvalidKeyException {
        try {
            // Create a minioClient with the MinIO server playground, its access key and secret key.
            MinioClient minioClient =
                    MinioClient.builder()
                            .endpoint("http://127.0.0.1:9090")
                            .credentials("admin", "12345678")
                            .build();

            // Make 'asiatrip' bucket if not exist.
            boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build());
            if (!found) {
                // Make a new bucket called 'asiatrip'.
                minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build());
            } else {
                System.out.println("Bucket 'asiatrip' already exists.");
            }

            // Upload '/home/user/Photos/asiaphotos.zip' as object name 'asiaphotos-2015.zip' to bucket
            // 'asiatrip'.
            minioClient.uploadObject(
                    UploadObjectArgs.builder()
                            .bucket(bucketName)
                            .object("asiaphotos-2015.zip")
                            .filename("D:/chunk-uploader-main.zip")
                            .build());
            System.out.println(
                    "'D:/chunk-uploader-main.zip' is successfully uploaded as "
                            + "object 'asiaphotos-2015.zip' to bucket 'asiatrip'.");
            // asiatrip/asiaphotos-2015.zip
        } catch (MinioException e) {
            System.out.println("Error occurred: " + e);
            System.out.println("HTTP trace: " + e.getMessage());
        }
    }
}

  • 12
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值