Ubuntu和Debian 安装influxDB

75 阅读3分钟

一、适用环境

  • 操作系统:Ubuntu 16.04+/Debian 9+(64 位,amd64 架构)
  • 目标版本:InfluxDB 1.7.2(稳定版,适用于日志存储、时序数据监控场景)

二、安装步骤

1. 下载 InfluxDB 安装包

使用 wget 命令直接下载指定版本的 deb 安装包:

wget https://dl.influxdata.com/influxdb/releases/influxdb_1.7.2_amd64.deb
  • 若提示 wget: 未找到命令,先安装 wget:sudo apt-get install -y wget

2. 安装 deb 包

通过 dpkg 命令安装下载的安装包:

sudo dpkg -i influxdb_1.7.2_amd64.deb
  • 若出现依赖缺失错误,执行修复命令:sudo apt-get -f install,再重新运行安装命令。

3. 启动 InfluxDB 服务

sudo service influxdb start
  • 验证服务状态(可选):sudo service influxdb status,显示 active (running) 即为启动成功。

4. 验证安装是否成功

进入 InfluxDB 命令行交互模式:

influx
  • 若成功进入 > 开头的命令行界面,说明安装完成;若提示 influx: 未找到命令,需重启终端或检查安装路径。

三、核心配置操作(数据库、用户、权限)

以下操作均在 InfluxDB 命令行(influx 交互模式)中执行:

1. 数据库管理

# 查看当前所有数据库
show databases
# 创建名为 logs 的数据库(用于存储日志数据)
create database logs
# 再次查看数据库列表,确认 logs 已创建
show databases

2. 用户创建(管理员 + 普通用户)

# 创建超级管理员账号:admin / test123_admin(拥有所有权限)
CREATE USER admin WITH PASSWORD 'test123_admin' WITH ALL PRIVILEGES
# 创建超级管理员账号:root / test123_root(备用管理员)
CREATE USER root WITH PASSWORD 'test123_root' WITH ALL PRIVILEGES
# 创建普通用户:server / test123(用于应用程序连接)
CREATE USER server WITH PASSWORD 'test123'

3. 用户权限授权

# 授权 root 账号所有数据库的全部权限(冗余配置,确保管理员权限)
GRANT ALL PRIVILEGES TO root
# 授权 server 账号仅操作 logs 数据库的全部权限(遵循最小权限原则)
GRANT ALL ON logs TO server

4. 数据保留策略配置(自动清理过期数据)

# 查看 logs 数据库当前的保留策略
SHOW RETENTION POLICIES ON logs
# 创建保留策略:logs_policy(默认策略),数据保留7天,1个副本
CREATE RETENTION POLICY "logs_policy" ON logs DURATION 7d REPLICATION 1 DEFAULT
# 修改保留策略:将 logs_policy 的保留时间改为3小时(按需调整)
ALTER RETENTION POLICY "logs_policy" ON "logs" DURATION 3h DEFAULT
# 再次查看保留策略,确认修改生效
show retention POLICIES on logs
# (可选)删除多余的保留策略(替换为实际要删除的策略名称)
drop retention POLICY "logs_policy" ON logs

四、服务管理与配置文件

1. 重启 InfluxDB 服务(配置变更后生效)

sudo service influxdb restart
  • 停止服务:sudo service influxdb stop
  • 设置开机自启:sudo systemctl enable influxdb(Ubuntu 18.04+/Debian 10+)

2. 配置文件路径

InfluxDB 核心配置文件位置(可修改端口、数据存储路径等):

# 编辑配置文件(需root权限)
sudo vim /etc/influxdb/influxdb.conf
  • 常用配置项:
    • bind-address: 绑定端口(默认 8086,用于 HTTP API 连接)
    • dir: 数据存储目录(默认 /var/lib/influxdb/data)
    • wal-dir: 写前日志目录(默认 /var/lib/influxdb/wal)

五、注意事项

  1. 权限安全:普通用户仅授权必要数据库权限,避免使用管理员账号直接连接应用程序。
  1. 保留策略:根据数据量调整保留时间(如日志数据保留 3 小时 - 7 天),避免磁盘占满。
  1. 远程访问:若需远程连接 InfluxDB,需在配置文件中修改 bind-address = ":8086",并开放防火墙端口:sudo ufw allow 8086/tcp。
  1. 版本说明:本教程针对 1.7.2 版本(稳定版),若需安装 2.x 版本,命令和配置会有差异,需参考官方文档。