MinIO安装及使用教程(windows) 及java 上传 下载 windows minio 修改密码修改 MINIO_ACCESS_KEY minio开机启动
转载: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>
相关文章
- [Java基础] java的守护线程与非守护线程
- Java实现 LeetCode 561 数组拆分 I(通过排序算法改写PS:难搞)
- Java实现 洛谷 P1035 级数求和
- Java实现 洛谷 P1421 小玉买文具
- Java实现第八届蓝桥杯方格分割
- Java实现 蓝桥杯VIP 算法提高 连接乘积
- Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
- 【JAVA】java中split以"." 、""、“|”分隔字符串
- PHP-Java-Bridge使用笔记,2014年9月最新版
- 【JAVA】java中split以"." 、""、“|”分隔字符串
- 【JAVA】Java循环语句中的continue跳转进入下一次循环是否判断循环条件
- Java容器使用总结
- 在Java中可以使用自定义的java.net.InetAddress实现来解决虚拟hosts的问题
- Java工具类--jwt微服务token签发与验证
- 使用Java标准的java.util.EventListener实现观察者-发布者设计模式
- Atitit java播放器调音速率快慢的实现 目录 1.1. 原理 本质上是改变采样率即可1 2. 使用Java增加/降低AudioInputStream的音频播放速度(Increase/dec
- 当年的Java考试:JAVA&移动应用&大数据-大三-社区疫苗接种管理系统(全部源码·保姆式呵护)
- 【Java】java 环境配置(详细教程)
- Simple Logging Facade for Java (SLF4J)作用(java日志框架)
- 【java】Java连接mysql数据库及mysql驱动jar包下载和使用
- java 泛型详解
- Java中String类的concat方法___java的String字符串的concat()方法连接字符串和“+“连接字符串解释
- 解决idea出现的java.lang.OutOfMemoryError: Java heap space的问题
- Java通过PDF模板导出数据 adobe acrobat的PDF编辑器 itextpdf java导出文件输出流
- JAVA! static什么作用?
- 【JAVA面试必会】JMM高并发详解(java内存模型、JMM三大特征、volatile关键字 )
- 【java】Java 封装
- 【java】Java 内存模型
- JAVA开发讲义(二)-Java程序设计之数据之谜四