步骤 1:安装 InfluxDB
你可以从 InfluxDB 的 InfluxDB官网winndows二进制安装包下载适用于不同操作系统的 InfluxDB 安装包。在本教程中,我们将介绍在 Windows上安装 InfluxDB 的步骤。
如果所示,可以点击下载windows版本的安卓版,右上角还可以切换其他版本的安装包。
下载后解压,里面有个influxd.exe启动程序,influx2.7 服务端和客户端已经分离,需要客户端的要另外下载,就在上面网页的下方。
注意:influxd.exe是服务端,influx.exe是客户端,老版本的压缩包,两个程序是在一块的!
2.7这个版本没办法,双击exe程序启动,只能用cmd或者power 启动influxdb 程序,命令如下:
如上图所示,就是代码启动成功了,默认端口是8086。
浏览器输入http://127.0.0.1:8086
即可访问influxdb的web端管理界面。刚开始时,会让你注册用户和密码、组织名称和桶名,由于本人已经注册过了,就不展示注册界面了。
如果你不想用web界面操作创建用户密码和数据库的话,也可以通过influxdb客户端程序,通过命令创建。
步骤 2:使用 InfluxDB
influxdb的一些常用命令:
进入数据库命令行显示所有数据库
influx -username admin -password '123456'
数据库管理
显示所有数据库
show databases
创建数据库
create database mydb
切换数据库
use database mydb
删除数据库
drop database
数据表管理
显示所有表
show measurements
删除表
drop measurement tablename
用户管理
可以直接在web管理页面操作,也可以命令行操作。下面以用户admin为例介绍:
显示用户
SHOW users
创建普通用户
CREATE USER "admin" WITH PASSWORD '123456'
修改用户密码
SET PASSWORD FOR "admin" = '111111'
为普通用户赋管理员权限
GRANT ALL PRIVILEGES TO "admin"
查看用户拥有的权限
SHOW GRANTS FOR "admin"
撤销普通用户的管理员权限
REVOKE ALL PRIVILEGES FROM "admin"
给用户赋数据库mydb的只读权限
GRANT READ ON "mydb" TO "admin"
取消用户对数据库mydb的写权限
REVOKE WRITE ON "mydb" FROM "admin"
直接创建管理员权限用户
CREATE USER "admin" WITH PASSWORD '123456' WITH ALL PRIVILEGES
删除用户
drop USER "admin"
步骤 3:Springboot 整合influxdb
在Spring Boot中,我们可以使用influxdb-java库来与InfluxDB进行集成。下面是一个简单的示例,展示了如何使用Spring Boot和influxdb-java库来连接和操作InfluxDB。
1.首先,需要在pom.xml文件中添加以下依赖:
<dependency>
<groupId>org.influxdb</groupId>
<artifactId>influxdb-java</artifactId>
<version>2.15</version>
</dependency>
2.在application.properties文件中添加以下配置:
spring.influx.url=http://localhost:8086
spring.influx.username=admin
spring.influx.password=admin
spring.influx.database=mydb
3.创建InfluxDBTemplate bean
@Configuration
public class InfluxDbConfig {
@Autowired
private InfluxDBProperties influxDBProperties;
@Bean
public InfluxDBConnectionFactory influxDBConnectionFactory() {
return new InfluxDBConnectionFactory(influxDBProperties);
}
@Bean
public InfluxDBTemplate influxDBTemplate(@Autowired InfluxDBConnectionFactory connectionFactory) {
return new InfluxDBTemplate(connectionFactory);
}
}
4.创建一个实体类,用于映射InfluxDB中的数据点:
@Data
@NoArgsConstructor
@AllArgsConstructor
@Measurement(name = "temperature")
public class TemperaturePoint {
@Column(name = "time")
@TimeField
private Instant time;
@Column(name = "value")
private Double value;
@Column(name = "location")
private String location;
}
5.在代码中使用InfluxDBTemplate来插入数据
@Autowired
private InfluxDBTemplate<TemperaturePoint> influxDBTemplate;
public void insertData(TemperaturePoint point) {
influxDBTemplate.write(point);
}
6.在代码中使用InfluxDBTemplate来查询数据
@Autowired
private InfluxDBTemplate<TemperaturePoint> influxDBTemplate;
public List<TemperaturePoint> queryData() {
Query query = new Query("SELECT * FROM temperature", influxDBProperties.getDatabase());
QueryResult result = influxDBTemplate.query(query);
return resultMapper.toPOJO(result, TemperaturePoint.class);
}
这样就完成了Spring Boot和InfluxDB的集成。你可以使用InfluxDBTemplate来进行各种操作,如插入、查询和删除数据。
相关文章:
《从零开始学习InfluxDB:安装和使用入门教程》