当前位置: 首页 > news >正文

linux安装influxdb-rpmyum方式

一、influxdb的安装

InfluxDB简介

时序数据库InfluxDB版是一款专门处理高写入和查询负载的时序数据库,用于存储大规模的时序数据并进行实时分析,包括来自DevOps监控、应用指标和IoT传感器上的数据

主要特点:

专为时间序列数据量身订造高性能数据存储。TSM引擎提供数据高速读写和压缩等功能

简单高效的HTTP API写入和查询接口

针对时序数据,量身订造类似SQL的查询语言,轻松查询聚合数据

允许对tag建索引,实现快速有效的查询

数据保留策略(Retention policies)能够有效地使旧数据自动失效

————————————————

  1. 下载链接:

官网

https://portal.influxdata.com/downloads

其他版本

#修改内核参数等切换其他版本
https://repos.influxdata.com/rhel/7/arm64/stable/

2、linux版本的1.8.10版本具体参考链接:

#下载rpm包wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.10.x86_64.rpm#直接yum安装
sudo yum localinstall influxdb-1.8.10.x86_64.rpm

3、安装后的相关配置或文件的路径:

/etc/influxdb/influxdb.conf 默认的配置文件
/var/log/influxdb/influxd.log 日志文件
/var/lib/influxdb/data 数据文件
/usr/lib/influxdb/scripts 初始化脚本文件夹

4、启动influx数据库

 # 1.正常后台启动[root@aliyun ~]# systemctl start influxd 或者service influxdb restart(重启)# 前台启动可以查看运行状态 也可以用 -config 指定启动时的配置文件
[root@aliyun ~]# /usr/bin/influxd8888888           .d888 888                   8888888b.  888888b.888            d88P"  888                   888  "Y88b 888  "88b888            888    888                   888    888 888  .88P888   88888b.  888888 888 888  888 888  888 888    888 8888888K.888   888 "88b 888    888 888  888  Y8bd8P' 888    888 888  "Y88b888   888  888 888    888 888  888   X88K   888    888 888    888888   888  888 888    888 Y88b 888 .d8""8b. 888  .d88P 888   d88P8888888 888  888 888    888  "Y88888 888  888 8888888P"  8888888P"

5,进入命令行工具

进入命令行工具界面进行用户添加,如果修改了默认绑定的端口,需要添加-port参数指定端口(没改端口 可忽略):


[root@aliyun ~]# influx -port '8086'
Connected to http://localhost:18088 version 1.8.6
InfluxDB shell version: 1.7.6
Enter an InfluxQL query
# 创建管理员用户
> create user "admin" with password 'admin' with all privileges;
# 查看用户信息
> show users;
user  admin
----  -----
admin true

6,开启登录认证

# 修改配置
vim /etc/influxdb/influxdb.conf
# http相关参数  权限认证
[http]# 开启 HTTP APIenabled = true # bind-address = ":8086"# 默认绑定端口为 8086可进行修改bind-address = ":18088"# auth-enabled = false# 用户及密码验证默认关闭【注意】创建管理员用户后生产环境进行开启auth-enabled = true#改完重新启动
service influxdb restart(重启)

7,数据保存地址配置

# 修改配置
vim /etc/influxdb/influxdb.conf
# 以下三个文件夹可根据需要进行修改
[meta]dir = "/var/lib/influxdb/meta"
[data]dir = "/var/lib/influxdb/data"wal-dir = "/var/lib/influxdb/wal"

7,重启服务后使用用户名及密码进行登录:

# 重启服务
systemctl restart influxd# 如果不使用用户及密码登录操作时会报错
[root@aliyun ~]# influx -port '8086'
Connected to http://localhost:18088 version 1.7.6
InfluxDB shell version: 1.7.6
Enter an InfluxQL query
> show users;
ERR: unable to parse authentication credentials
Warning: It is possible this error is due to not setting a database.
Please set a database with the command "use <database>".
# 验证用户及密码
> auth
username: admin
password:
> show users;
user  admin
----  -----
admin true# 使用用户名及密码正确登录
[root@aliyun ~]# influx -port '18088' -username 'admin' -password 'admin'
Connected to http://localhost:18088 version 1.7.6
InfluxDB shell version: 1.7.6
Enter an InfluxQL query
> show users;
user  admin
----  -----
admin true

7,数据保存地址配置

# 修改配置
vim /etc/influxdb/influxdb.conf
# 以下三个文件夹可根据需要进行修改
[meta]dir = "/var/lib/influxdb/meta"
[data]dir = "/var/lib/influxdb/data"wal-dir = "/var/lib/influxdb/wal"

二,常用操作

1. 官方文档

https://influxdb-v1-docs-cn.cnosdb.com/influxdb/v1.8/administration/authentication_and_authorization/

2. influxdb基本操作

2.1. 数据库基本操作


# 创建数据库
> create database db01;# 查看数据库
> show databases;
name: databases
name
----
_internal
mydb
db01# 删除数据库
> drop database db01;
> show databases;
name: databases
name
----
_internal
mydb# 使用数据库
> use mydb;
Using database mydb

2.2. 表基本操作(measurement)


# 查看表
> show measurements;
name: measurements
name
----
meas01
meas02
mymeans
mymeas# 新建表
# disk_free 就是表名,hostname是索引,value=xx是记录值,记录值可以有多个,最后是指定的时间
> insert disk_free,hostname=server01 value=442221834240i 1435362189575692182
> show measurements;name: measurements
name
----
disk_free
meas01
meas02
mymeans
mymeas# 查看表
> select * from disk_free;
name: disk_free
time                hostname value
----                -------- -----
1435362189575692182 server01 442221834240# 删除表
> drop measurement disk_free;
> show measurements;
name: measurements
name
----
meas01
meas02
mymeans
mymeas

2.3. 系列基本操作(series)


> select * from disk_free;
name: disk_free
time                hostname value
----                -------- -----
1435362189335692182 server01 442221834240
1435362189345692182 server01 442221834240
1435362189355692182 server01 442221834240
1435362189355692182 server02 442221834240
# series表示这个表里面的数据,可以在图表上画成几条线,series主要通过tags排列组合算出来。
> show series from disk_free;
key
---
disk_free,hostname=server01
disk_free,hostname=server02

2.4 存储策略操作(rentention policy)


# 注意:策略名称需要添加引号
# 新建策略
> create retention policy "role-02" on "mydb" duration 2h replication 1 default# 查看策略
> show retention policies on mydb;
name    duration shardGroupDuration replicaN default
----    -------- ------------------ -------- -------
autogen 0s       168h0m0s           1        false
2_hours 2h0m0s   1h0m0s             1        false
role-01 2h0m0s   1h0m0s             1        false
role-02 2h0m0s   1h0m0s             1        true# name--名称,此示例名称为 default
# duration--持续时间,0代表无限制1h, 90m, 12h, 7d, 4w, INF 最小1h, 最大INF
# shardGroupDuration--shardGroup的存储时间,shardGroup是InfluxDB的一个基本储存结构,应该大于这个时间的数据在查询效率上应该有所降低。
# replicaN--全称是REPLICATION,副本个数
# default--是否是默认策略# 修改策略
> alter retention policy "role-01" on mydb duration 3h default
> show retention policies on mydb;
name    duration shardGroupDuration replicaN default
----    -------- ------------------ -------- -------
autogen 0s       168h0m0s           1        false
2_hours 2h0m0s   1h0m0s             1        false
role-01 3h0m0s   1h0m0s             1        true
role-02 2h0m0s   1h0m0s             1        false# 删除策略
> drop retention policy "role-01" on mydb;
> show retention policies on mydb;
name    duration shardGroupDuration replicaN default
----    -------- ------------------ -------- -------
autogen 0s       168h0m0s           1        false
2_hours 2h0m0s   1h0m0s             1        false
role-02 2h0m0s   1h0m0s             1        false

2.5. 用户操作


# 查看用户
> show users;
user  admin
----  -----
admin true# 创建普通用户
> create user root with password '123456';
> show users;
user  admin
----  -----
admin true
root  false# 创建具有admin权限的用户
> create user root with password '111111' with all privileges;
> show users;
user  admin
----  -----
admin true
root  true# 授权root用户admin权限
> grant all privileges to root;
> show users;
user  admin
----  -----
admin true
root  true# 删除用户
> drop user root;
> show users;
user  admin
----  -----
admin true# 修改用户密码
> set password for admin='111111';

3.配置文件详解

# reporting-disabled = false                                 # 该选项用于上报influxdb的使用信息给InfluxData公司,默认值为false
bind-address = "127.0.0.1:8085"                               # 备份恢复时使用,默认值为8088
### [meta]
[meta]dir = "/data/influxdb/meta"                              # meta数据存放目录# retention-autocreate = true                            # 用于控制默认存储策略,数据库创建时,会自动生成autogen的存储策略,默认值:true# logging-enabled = true                                 # 是否开启meta日志,默认值:true
### [data]
[data]dir = "/data/influxdb/data"                              # 最终数据(TSM文件)存储目录wal-dir = "/data/influxdb/wal"                           # 预写日志存储目录# wal-fsync-delay = "0s"                                 # 在同步写入之前等待的总时间,默认0s# index-version = "inmem"                                # 用于新碎片的切分索引的类型。# trace-logging-enabled = false                          # 跟踪日志记录在tsm引擎周围提供了更详细的输出# query-log-enabled = true                               # 是否开启tsm引擎查询日志,默认值: true# Valid size suffixes are k, m, or g (case insensitive, 1024 = 1k).# cache-max-memory-size = "1g"                           # 用于限定shard最大值,大于该值时会拒绝写入,默认值:1000MB,单位:byte# Valid size suffixes are k, m, or g (case insensitive, 1024 = 1k).# cache-snapshot-memory-size = "25m"                     # 用于设置快照大小,大于该值时数据会刷新到tsm文件,默认值:25MB,单位:byte# cache-snapshot-write-cold-duration = "10m"             # tsm引擎 snapshot写盘延迟,默认值:10Minute# compact-full-write-cold-duration = "4h"                # tsm文件在压缩前可以存储的最大时间,默认值:4Hour# max-concurrent-compactions = 0                         # 压缩并发的最大数量,默认设置为0表示runtime.GOMAXPROCS(0)*50% ,否则以设置的非零值为准# Valid size suffixes are k, m, or g (case insensitive, 1024 = 1k).# max-index-log-file-size = "1m"                         # 限制索引日志文件大小# max-series-per-database = 1000000                      # 限制数据库的级数,该值为0时取消限制,默认值:1000000# max-values-per-tag = 100000                            # 一个tag最大的value数,0取消限制,默认值:100000# tsm-use-madv-willneed = false                          # 如果为true,mmap的建议值MADV_WILLNEED会被提供给内核
### [coordinator]
[coordinator]# write-timeout = "10s"                                  # 写操作超时时间,默认值: 10s# max-concurrent-queries = 0                             # 最大并发查询数,0无限制,默认值: 0# query-timeout = "0s"                                   # 查询操作超时时间,0无限制,默认值:0s# log-queries-after = "0s"                               # 慢查询超时时间,0无限制,默认值:0s# max-select-point = 0                                   # SELECT语句可以处理的最大点数(points),0无限制,默认值:0# max-select-series = 0                                  # SELECT语句可以处理的最大级数(series),0无限制,默认值:0# max-select-buckets = 0                                 # SELECT语句可以处理的最大"GROUP BY time()"的时间周期,0无限制,默认值:0
### [retention]
[retention]# enabled = true                                         # 是否启用该模块,默认值 : true# check-interval = "30m"                                 # 检查时间间隔,默认值 :"30m"
### [shard-precreation]
[shard-precreation]# enabled = true                                         # 是否启用该模块,默认值 : true# check-interval = "10m"                                 # 检查时间间隔,默认值 :"10m"# advance-period = "30m"                                 # 预创建分区的最大提前时间,默认值 :"30m"
[monitor]# store-enabled = true                                   # 是否启用该模块,默认值 :true# store-database = "_internal"                           # 默认数据库:"_internal"# store-interval = "10s"                                 # 统计间隔,默认值:"10s"
### [http]
[http]# enabled = true                                         # 是否启用该模块,默认值 :true# bind-address = ":8086"                                 # 绑定地址,默认值 :":8086"# auth-enabled = false                                   # 是否开启认证,默认值:false# realm = "InfluxDB"                                     # 配置JWT realm,默认值: "InfluxDB"# log-enabled = true                                     # 是否开启日志,默认值:true# suppress-write-log = false                             # 在启用日志时是否抑制HTTP写请求日志# access-log-path = ""                                   # 当启用HTTP请求日志时,该选项指定了路径。如influxd不能访问指定的路径,它将记录一个错误并将请求日志写入stderr# write-tracing = false                                  # 是否开启写操作日志,如果置成true,每一次写操作都会打日志,默认值:false# pprof-enabled = true                                   # 是否开启pprof,默认值:true# debug-pprof-enabled = false                            # 是否开启pprof,默认值:true# https-enabled = false                                  # 是否开启https ,默认值 :false# https-certificate = "/etc/ssl/influxdb.pem"            # 设置https证书路径,默认值:"/etc/ssl/influxdb.pem"# https-private-key = ""                                 # 设置https私钥,无默认值# shared-secret = ""                                     # 用于JWT签名的共享密钥,无默认值# max-row-limit = 0                                      # 配置查询返回最大行数,0无限制,默认值:0# max-connection-limit = 0                               # 配置最大连接数,0无限制,默认值:0# unix-socket-enabled = false                            # 是否使用unix-socket,默认值:false# bind-socket = "/var/run/influxdb.sock"                 # unix-socket路径,默认值:"/var/run/influxdb.sock"# max-body-size = 25000000                               # 客户端请求主体的最大值,以字节为单位。0无限制,默认值0# max-concurrent-write-limit = 0                         # 并发处理的最大写入次数,0无限制,默认值0# max-enqueued-write-limit = 0                           # 排队等待处理的最大数量,0无限制,默认值0# enqueued-write-timeout = 0                             # 在队列中等待处理的最长时间,0或者setting max-concurrent-write-limit=0无限制,默认值0
### [ifql]
[ifql]# enabled = true                                         # 是否启用该模块,默认值 :true# log-enabled = true                                     # 是否开启日志,默认值:true# bind-address = ":8082"                                 # ifql RPC服务使用的绑定地址默认是8082
### [logging]
[logging]# format = "auto"                                        # 日志格式,默认是自动# level = "info"                                         # 日志级别默认info# suppress-logo = false                                  # 当程序启动时,会抑制打印出来的logo输出
### [subscriber]
[subscriber]# enabled = true                                           # 是否启用该模块,默认值 :true# http-timeout = "30s"                                     # http超时时间,默认值:"30s"# insecure-skip-verify = false                             # 是否允许不安全的证书# ca-certs = ""                                             # 设置CA证书# write-concurrency = 40                                   # 设置并发数目,默认值:40# write-buffer-size = 1000                                  # 设置buffer大小,默认值:1000
### [[graphite]]
[[graphite]]# enabled = false                                        # 是否启用该模块,默认值 :false# database = "graphite"                                  # 数据库名称,默认值:"graphite"# retention-policy = ""                                  # 存储策略,无默认值# bind-address = ":2003"                                 # 绑定地址,默认值:":2003"# protocol = "tcp"                                       # 协议,默认值:"tcp"# consistency-level = "one"                              # 一致性级别,默认值:"one# batch-size = 5000                                      # 批量size,默认值:5000# batch-pending = 10                                     # 配置在内存中等待的batch数,默认值:10# batch-timeout = "1s"                                   # 超时时间,默认值:"1s"# udp-read-buffer = 0                                    # udp读取buffer的大小,0表示使用操作系统提供的值,如果超过操作系统的默认配置则会出错。 该配置的默认值:0# separator = "."                                        # 多个measurement间的连接符,默认值: "."# tags = ["region=us-east", "zone=1c"]                   # 将被添加到所有指标的默认标签。这些可以在模板级别上覆盖或者从指标中提取的标签# templates = [#   "*.app env.service.resource.measurement",#   # Default template#   "server.*",# ]
### [collectd]
[[collectd]]# enabled = false                                        # 是否启用该模块,默认值 :false# bind-address = ":25826"                                # 绑定地址,默认值: ":25826"# database = "collectd"                                  # 数据库名称,默认值:"collectd"# retention-policy = ""                                  # 存储策略,无默认值# typesdb = "/usr/local/share/collectd"                  # 路径,默认值:"/usr/share/collectd/types.db"# security-level = "none"                                # 安全级别# auth-file = "/etc/collectd/auth_file"# batch-size = 5000                                      # 从缓存中批量获取数据的量,默认值:5000# batch-pending = 10                                     # 可能在内存中等待的批次的数量,默认值:10# batch-timeout = "10s"                                  # 即使没有达到缓冲区的限制,至少要刷新一下,默认值:"10s"# read-buffer = 0                                        # udp读取buffer的大小,0表示使用操作系统提供的值,如果超过操作系统的默认配置则会出错。默认值:0# parse-multivalue-plugin = "split"                      # 两种处理方式split和join,split会分到不同的表中,join会将记录作为一个单独的记录处理。默认是split
### [opentsdb]
[[opentsdb]]# enabled = false                                        # 是否启用该模块,默认值 :false# bind-address = ":4242"                                 # 绑定地址,默认值:":4242"# database = "opentsdb"                                  # 默认数据库:"opentsdb"# retention-policy = ""                                  # 存储策略,无默认值# consistency-level = "one"                              # 一致性级别,默认值:"one"# tls-enabled = false                                    # 是否开启tls,默认值:false# certificate= "/etc/ssl/influxdb.pem"                   # 证书路径,默认值:"/etc/ssl/influxdb.pem"# log-point-errors = true                                # 出错时是否记录日志,默认值:true# batch-size = 1000                                      # 从缓存中批量获取数据的量,默认值:1000# batch-pending = 5                                      # 可能在内存中等待的批次的数量,默认值:5# batch-timeout = "1s"                                   # 即使没有达到缓冲区的限制,至少要刷新一下,默认值:"1s"
### [[udp]]
[[udp]]# enabled = false                                        # 是否启用该模块,默认值 :false# bind-address = ":8089"                                 # 绑定地址,默认值:":8089"# database = "udp"                                       # 数据库名称,默认值:"udp"# retention-policy = ""                                  # 存储策略,无默认值# precision = ""                                         # 接收点的时间点的精度("" or "n", "u", "ms", "s", "m", "h")# batch-size = 5000                                      # 从缓存中批量获取数据的量,默认值:5000# batch-pending = 10                                     # 可能在内存中等待的批次的数量,默认值:10# batch-timeout = "1s"                                   # 即使没有达到缓冲区的限制,至少要刷新一下,默认值:"1s"# read-buffer = 0                                        # udp读取buffer的大小,0表示使用操作系统提供的值,如果超过操作系统的默认配置则会出错。 该配置的默认值:0 
### [continuous_queries]
[continuous_queries]# enabled = true                                         # 是否启用该模块,默认值 :true# log-enabled = true                                     # 是否开启日志,默认值:true# query-stats-enabled = false                            # 控制查询是否被记录到自我监控数据存储中# run-interval = "1s"                                    # 时间间隔,默认值:"1s"
### [tls]
[tls]# ciphers = [#   "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305",#   "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",# ]# min-version = "tls1.2"# max-version = "tls1.2"

4. 基本操作 postman

#移步大佬博客
https://blog.csdn.net/qq_40378034/article/details/111112737

三:可视化工具InfluxDBStudio

软件虽然界面简陋,但是目前暂未发现另一款可以可视化操作InfluxDB的软件,

虽然简陋,但是还是很容易上手,简单介绍下如何使用

Name 名称 - 连接的名称。这是使用此连接时将看到的标签

Address 地址 - InfluxDB服务器的主机URI。排除协议信息。端口填写在右侧

Database 数据库 - 用于连接的数据库。将其留空以列出所有数据库(需要管理员权限)

UserName 用户名 - 用于连接的InfluxDB用户名

Password 密码 - 与连接一起使用的InfluxDB密码

Security - Use SSL 使用SSL - 连接到InfluxDB时是否使用SSL安全性(HTTPS)

https://github.com/CymaticLabs/InfluxDBStudio/releases/tag/v0.2.0-beta.1

1,使用方式

进去就不用多说了吧,低配版的SQLyog,哈哈哈

相关文章:

linux安装influxdb-rpmyum方式

一、influxdb的安装InfluxDB简介时序数据库InfluxDB版是一款专门处理高写入和查询负载的时序数据库&#xff0c;用于存储大规模的时序数据并进行实时分析&#xff0c;包括来自DevOps监控、应用指标和IoT传感器上的数据主要特点&#xff1a;专为时间序列数据量身订造高性能数据存…...

死锁

1.死锁的定义 多线程以及多进程改善了系统资源的利用率并提高了系统 的处理能力。然而&#xff0c;并发执行也带来了新的问题——死锁。所谓死锁是指多个线程因竞争资源而造成的一种僵局&#xff08;互相等待&#xff09;&#xff0c;若无外力作用&#xff0c;这些进程都将无法…...

C++基础了解-05-C++常量

C常量 一、C常量 常量是固定值&#xff0c;在程序执行期间不会改变。这些固定的值&#xff0c;又叫做字面量。 常量可以是任何的基本数据类型&#xff0c;可分为整型数字、浮点数字、字符、字符串和布尔值。 常量就像是常规的变量&#xff0c;只不过常量的值在定义后不能进…...

深度学习笔记-2.自动梯度问题

通过反向传播进行自动求梯度1-requires_grad问题2-梯度3- detach() 和 with torch.no_grad(&#xff09;4- Tensor.data.requires_gradPyTorch提供的autograd包能够根据输入和前向传播过程自动构建计算图&#xff0c;并执行反向传播. 1-requires_grad问题 requires_gradTrue …...

一文读懂倒排序索引涉及的核心概念

基础概念相信对于第一次接触Elasticsearch的同学来说&#xff0c;最难理解的概念就是倒排序索引&#xff08;也叫反向索引&#xff09;&#xff0c;因为这个概念跟我们之前在传统关系型数据库中的索引概念是完全不同的&#xff01;在这里我就重点给大家介绍一下倒排序索引&…...

Java基础算法题

以创作之名致敬节日 胜固欣然&#xff0c;败亦可喜。 --苏轼 目录 练习1 : 优化代码 扩展 : CRTL Alt M 自动抽取方法 练习2: 方法一: 方法二: 方法三: Math : 顾名思义&#xff0c;Math类就是用来进行数学计算的&#xff0c;它提供了大量的静态方法来便于我们实…...

「SAP ABAP」你真的了解OPEN SQL的DML语句吗 (附超详细案例讲解)

&#x1f482;作者简介&#xff1a; THUNDER王&#xff0c;一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读&#xff0c;同时任汉硕云&#xff08;广东&#xff09;科技有限公司ABAP开发顾问。在学习工作中&#xff0c;我通常使用偏后端的开发语言A…...

数据结构3——线性表2:线性表的顺序结构

顺序结构的基本理解 定义&#xff1a; 把逻辑上相邻的数据元素存储在物理上相邻&#xff08;占用一片连续的存储单元&#xff0c;中间不能空出来&#xff09;的存储单元的存储结构 存储位置计算&#xff1a; LOC(a(i1))LOC(a(i))lLOC(a(i1))LOC(a(i))l LOC(a(i1))LOC(a(i))l L…...

VMware虚拟机搭建环境通用方法

目录一、前期准备1.下载并安装一个虚拟机软件二、开始创建虚拟机1.配置虚拟机硬件相关操作2.虚拟机网络相关操作三、开机配置相关内容0.开机遇到报错处理&#xff08;选看--开机没有报错请忽略&#xff09;1.开始配置2.开机之后配置3.使用xshell远程登录4.使用xshell配置虚拟机…...

2.Fully Convolutional Networks for Semantic Segmentation论文记录

欢迎访问个人网络日志&#x1f339;&#x1f339;知行空间&#x1f339;&#x1f339; 文章目录1.基础介绍2.分类网络转换成全卷积分割网络3.转置卷积进行上采样4.特征融合5.一个pytorch源码实现参考资料1.基础介绍 论文:Fully Convolutional Networks for Semantic Segmentati…...

深度解析Spring Boot自动装配原理

废话不多说了&#xff0c;直接来看源码。源码解析SpringBootApplication我们在使用idea创建好Spring Boot项目时&#xff0c;会发现在启动类上添加了SpringBootApplication注解&#xff0c;这个注解就是Spring Boot的核心所在。点击注解可以查看到到它的实现ementType.TYPE) Re…...

Redis性能分析相关-channel=[id: 0xbee27bd4, L:/127.0.0.1:63156

redis宕机...

Linux:环境变量

目录一、环境变量的理解&#xff08;1&#xff09;什么是环境变量&#xff1f;&#xff08;2&#xff09;Linux中的环境变量二、环境变量的使用&#xff08;1&#xff09;PATH环境变量&#xff08;2&#xff09;和变量相关的指令三、环境变量与普通变量的区别在平时使用电脑的时…...

Codeforces Round 703 (Div. 2)(A~D)

A. Shifting Stacks给出一个数组&#xff0c;每次可以将一个位置-1&#xff0c;右侧相邻位置1&#xff0c;判断是否可以经过若干次操作后使得数列严格递增。思路&#xff1a;对于每个位置&#xff0c;前缀和必须都大于该位置应该有的最少数字&#xff0c;即第一个位置最少是0&a…...

Django项目5——基于tensorflow serving部署深度模型——windows版本

1&#xff1a;安装docker for windows 可能需要安装WLS2&#xff0c;用于支持Linux系统&#xff0c;参照上面的教程安装 2&#xff1a;在Powershell下使用docker docker pull tensorflow/serving3&#xff1a;在Powershell下启动tensorflow serving docker run -p 8500:8500 …...

MySQL基础篇3

第一章 多表关系实战 1.1 实战1&#xff1a;省和市 方案1&#xff1a;多张表&#xff0c;一对多 方案2&#xff1a;一张表&#xff0c;自关联一对多 id1 name‘北京’ p_id null; id2 name‘昌平’ p_id1 id3 name‘大兴’ p_id1 id3 name‘上海’ p_idnull id4 name‘浦东’…...

携程 x TiDB丨应对全球业务海量数据增长,一栈式 HTAP 实现架构革新

随着新冠病毒疫情的缓解和控制&#xff0c;全球旅游业逐渐开始重新复苏。尤其在一些度假胜地&#xff0c;游客数量已经恢复到疫情前的水平。 携程作为全球领先的一站式旅行平台&#xff0c;旗下拥有携程旅行网、去哪儿网、Skyscanner 等品牌。携程旅行网向超过 9000 万会员提供…...

记一次Kafka warning排查过程

1、前因 在配合测试某个需求的时候&#xff0c;正好看到控制台打印了个报错&#xff0c;如下&#xff1a; 2023-03-06 17:05:58,565[325651ms][pool-28-thread-1][org.apache.kafka.common.utils.AppInfoParser][WARN] - Error registering AppInfo mbean javax.management.I…...

MySQL学习笔记(6.视图)

1. 视图作用 (1). 简化业务&#xff0c;将多个复杂条件&#xff0c;改为视图 (2). mysql对用户授权&#xff0c;只能控制表权限&#xff0c;通过视图可以控制用户字段权限。 (3). 可以避免基本表变更&#xff0c;影响业务。只需更改视图即可。 2. 视图&#xff08;创建&…...

java多线程与线程池-01多线程知识复习

多线程知识复习 文章目录 多线程知识复习第1章 多线程基础1.1.2 线程与进程的关系1.2 多线程启动1.2.1 线程标识1.2.2 Thread与Runnable1.2.3 run()与start()1.2.4 Thread源码分析1.3 线程状态1.3.1 NEW状态1.3.2 RUNNABLE状态1.3.3 BLOCKED状态1.3.4 WAITING状态1…...

Typescript - 将命名空间A导入另一个命名空间B作为B的子命名空间,并全局暴露命名空间B

前言 最近相统一管理 ts 中的类型声明&#xff0c;这就需要将各模块下的命名空间整合到全局的命名空间下&#xff0c;牵涉到从别的文件中引入命名空间并作为子命名空间在全局命名空间中统一暴露。 将命名空间A导入另一个命名空间B作为B的子命名空间 文件说明 assets.ts 文件中…...

Windows下实现Linux内核的Python开发(WSL2+Conda+Pycharm)

许多软件可以通过Python交互&#xff0c;但没有开发Windows版本&#xff0c;这个时候装双系统或虚拟机都很不方便&#xff0c;可以采取WSL2CondaPycharm的策略来进行基于Linux内核的Python开发。启动WSL2&#xff0c;安装Linux内核教程&#xff1a;旧版 WSL 的手动安装步骤 | M…...

新闻发布网站分析及适用场景

在当今数字时代&#xff0c;发布新闻的渠道已经不再局限于传统媒体&#xff0c;越来越多的企业、组织和个人开始使用互联网平台发布新闻稿&#xff0c;以提升品牌知名度和影响力。本文将介绍一些可以发布新闻的网站&#xff0c;并分析其特点和适用场景。一、新闻稿发布平台1.新…...

云原生时代顶流消息中间件Apache Pulsar部署实操之Pulsar IO与Pulsar SQL

文章目录Pulsar IO (Connector连接器)基础定义安装Pulsar和内置连接器连接Pulsar到Cassandra安装cassandra集群配置Cassandra接收器创建Cassandra Sink验证Cassandra Sink结果删除Cassandra Sink连接Pulsar到PostgreSQL安装PostgreSQL集群配置JDBC接收器创建JDBC Sink验证JDBC …...

Input子系统(一)启动篇

代码路径 基于AndroidS&#xff08;12.0&#xff09;代码 system/core/libutils/Threads.cppframeworks/base/services- java/com/android/server/SystemServer.java- core- java/com/android/server/input/InputManagerService.java- jni/com_android_server_input_InputMan…...

WuThreat身份安全云-TVD每日漏洞情报-2023-03-08

漏洞名称:Agilebio Lab Collector 远程命令执行 漏洞级别:高危 漏洞编号:CVE-2023-24217,CNNVD-202303-375 相关涉及:Agilebio Lab Collector 4.234 漏洞状态:EXP 参考链接:https://tvd.wuthreat.com/#/listDetail?TVD_IDTVD-2023-05536 漏洞名称:PrestaShop “Xen Forum”模…...

ABP IStringLocalizer部分场景不生效的问题

问题描述&#xff1a; 本地项目依赖注入本地化服务时候生效&#xff0c;第三方项目调用本地接口时候出现本地化失效的问题。 解决方案&#xff1a; 第三方服务封装的 GetHttp 请求的请求头中添加 语言相关信息 request.Headers.Add("accept-language", "zh-C…...

数组(四)-- LC[167] 两数之和-有序数组

1 两数之和 1.1 题目描述 题目链接&#xff1a;https://leetcode.cn/problems/two-sum/description/ 1.2 求解思路 1. 暴力枚举 最容易想到的方法是枚举数组中的每一个数 x&#xff0c;寻找数组中是否存在 target - x 参考代码 class Solution(object):def twoSum(self, n…...

Mac电脑,python+appium+安卓模拟器使用步骤

1、第一步&#xff0c;环境搭建&#xff0c;参考这位博主的文章&#xff0c;很齐全 https://blog.csdn.net/qq_44757414/article/details/128142859 我在最后一步安装appium-doctor的时候&#xff0c;提示权限不足&#xff0c;换成sudo appium-doctor即可 2、第二步&#xff0…...

Linux命令·find进阶

find是我们很常用的一个Linux命令&#xff0c;但是我们一般查找出来的并不仅仅是看看而已&#xff0c;还会有进一步的操作&#xff0c;这个时候exec的作用就显现出来了。 exec解释&#xff1a;-exec 参数后面跟的是command命令&#xff0c;它的终止是以;为结束标志的&#xff0…...