轉載:https://www.cnblogs.com/q149072205/p/12851667.html
1.下載安裝地址(我下的是windows版本):https://min.io/download#/windows
2.新建一個目錄存放minio文件,我建的文件名叫 D:\minioData,CMD進入剛剛下載的minio.exe所在目錄,
直接在cmd下運行:minio.exe server D:\minioData
啟動成功以后如下圖(啟動就是這么簡單),最后紅色字提示修改access Key和Secret Key (默認全是minioadmin)

3.瀏覽器打開 http://127.0.0.1:9000/ 輸入access Key和Secret Key (全是minioadmin)

登錄進來是這樣的,啥都沒有。

4.上傳文件,先要新建一個bucket (中文是桶的意思,我們理解為文件夾),點右下角有一個+號,選Create bucket ,

再上傳一個文件,如下圖,表示成功了。

5.用java測試上傳功能:
代碼如下:
import io.minio.MinioClient;
import io.minio.ObjectStat;
import io.minio.errors.MinioException;
import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
public class Program {
public static void main(String[] args){
System.out.println("hello java");
try {
test1();
}catch (Exception e){
System.out.println("test1錯誤: " + e);
}
}
public static void test1()throws NoSuchAlgorithmException, IOException, InvalidKeyException, XmlPullParserException {
try {
// 參數為:圖床,賬號,密碼
MinioClient minioClient = new MinioClient("http://127.0.0.1:9000", "minioadmin", "minioadmin");
//boolean v=minioClient.bucketExists("test1");
// 檢查文件夾是否已經存在
boolean isExist = minioClient.bucketExists("test1");
if(isExist) {
System.out.println("test1文件夾已經存在了");
}
else {
// 創建一個名為managertest的文件夾
System.out.println("test1文件夾還沒存在");
minioClient.makeBucket("test1");
}
// 使用putObject上傳一個文件到文件夾中。
//參數為:文件夾,要存成的名字,要存的文件 (如果文件名相同將會復蓋原來的文件)
minioClient.putObject("test1","tujpg2.png", "E:/Convert/testAllFile/tujpg2.jpg");
System.out.println("上傳成功了");
//使用getObject獲取一個文件
// 調用statObject()來判斷對象是否存在。
ObjectStat file=minioClient.statObject("test1", "tujpg2.png");
System.out.println("文件名:"+file.name()+",文件大小:"+file.length());
// 獲取1.png的流並保存到photo.png文件中。
//參數為:文件夾,要獲得的文件,要寫入的文件
minioClient.getObject("test1", "tujpg2.png", "E:/Convert/testAllFile/tujpg_minio.png");
System.out.println("下載成功了");
} catch(MinioException e) {
System.out.println("錯誤: " + e);
}
}
}
6.運行以后,test是開始手動點右下角創建的,test1是代碼創建的,里面的文件也是代碼上傳的。如下圖:

想要預覽,點文件右邊的三點。再點中間的按鈕,就可查看,

如果想要分享給別人,點第一個按鈕,生成一個連接可以復制粘貼發給別人查看

瀏覽器直接 http://127.0.0.1:9000/test1/tujpg2.png 訪問會跳到登錄頁,因為沒有登錄,想要實現這個功能的話
點左邊文件夾名上會出現三點,點三個點。再選Edit policy


選擇Read and Write 點Add


瀏覽器輸入:http://127.0.0.1:9000/test1/tujpg2.png 就不需要權限可以直接在瀏覽器訪問圖片了,如下圖

windows minio 修改密碼修改 MINIO_ACCESS_KEY
使用自己的minio的密碼啟動,新建run.bat文件代碼如下
set MINIO_ACCESS_KEY=admin set MINIO_SECRET_KEY=12345678 minio.exe server D:\minioData
修改老的minio密碼,新建runEditPassword.bat代碼如下,運行runEditPassword.bat以后再運行run.bat文件
set MINIO_ACCESS_KEY=admin set MINIO_SECRET_KEY=11111111 set MINIO_ACCESS_KEY_OLD=admin set MINIO_SECRET_KEY_OLD=12345678 minio.exe server D:\minioData
Minio創建BucketName 報錯,提示The specified bucket is not valid。
這個應該是Minio 做了限制,不允許bucketName有大寫字母、下划線、特殊字符 如@#等。
把bucketName換成小寫、數字或者小寫+數字組合就可以了。
minio開機啟動,先看一下文件內容如下:

添加服務
需要借助"Windows Service Wrapper"小工具,下載地址: http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/1.18/winsw-1.18-bin.exe
把winsw-1.18-bin.exe改名為minio-service.exe
新建 minio-service.xml 內容如下
<service>
<id>minio</id>
<name>MinIO Service</name>
<description>MinIO is a High Performance Object Storage</description>
<logpath>D:\minio\logs</logpath>
<log mode="roll-by-size">
<sizeThreshold>10240</sizeThreshold>
<keepFiles>8</keepFiles>
</log>
<executable>D:\minio\run.bat</executable>
</service>
新建run.bat文件,內容如下:
set MINIO_ACCESS_KEY=admin set MINIO_SECRET_KEY=12345678 minio.exe server D:\minioData
帶密碼帶自己定義端口9999啟動命令:
set MINIO_ACCESS_KEY=admin set MINIO_SECRET_KEY=12345678 minio.exe server --address :9999 D:\minioData
用來把minio.exe當成服務開機啟動,以管理員身份運行cmd,使用安裝服務命令如下:
安裝服務 minio-service.exe install (cmd下執行這行)
卸載服務 minio-service.exe uninstall
進入系統服務,啟動服務即可

PS:很多人問我,為什么我登進去是 minio console版本的?!界面都不一樣。
這個是由於版本的問題。
我目前使用的版本是:
<dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>8.2.1</version> </dependency>

