sql的使用

MySQL、PostgreSQL关系型和MongoDB 和 Redis非关系型数据库

一、前期准备

在安装和使用数据库之前,确保你的 CentOS 7 系统具备以下条件:

  • 系统安装了基本的开发工具:如 gcc、make 等。
  • 有权限使用 sudo 命令。
  • 有良好的网络环境以下载软件包。

你可以通过以下命令确保系统软件包是最新的:

bash 复制代码
sudo yum update -y

二、关系型数据库

1. MySQL

MySQL 是最流行的开源关系型数据库之一,广泛应用于Web应用、ERP系统等场景。接下来详细讲解如何在 CentOS 7上安装、配置、使用以及开发中的 SQL 示例。

1.1 CentOS 7 安装 MySQL
  1. 安装 MySQL 官方源 :

    CentOS 7 默认的 yum 源中没有 MySQL,因此需要先下载安装 MySQL 官方源。

    bash 复制代码
    sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
  2. 安装 MySQL:

    bash 复制代码
    sudo yum install mysql-server -y
  3. 启动 MySQL 并设置为开机自启:

    bash 复制代码
    sudo systemctl start mysqld
    sudo systemctl enable mysqld
  4. 设置初始 root 密码 :

    MySQL 安装完成后会生成一个初始密码,使用以下命令查看:

    bash 复制代码
    sudo grep 'temporary password' /var/log/mysqld.log

    使用这个密码登录并强制修改:

    bash 复制代码
    mysql -u root -p
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!';
1.2 MySQL 开发使用
  1. 创建数据库:

    sql 复制代码
    CREATE DATABASE testdb;
  2. 创建表:

    sql 复制代码
    USE testdb;
    CREATE TABLE users (
        id INT AUTO_INCREMENT PRIMARY KEY,
        username VARCHAR(50),
        email VARCHAR(50),
        password VARCHAR(255)
    );
  3. 插入数据:

    sql 复制代码
    INSERT INTO users (username, email, password) VALUES ('user1', 'user1@example.com', 'pass123');
  4. 查询数据:

    sql 复制代码
    SELECT * FROM users;
  5. 高级操作:复杂查询与事务:

    • 联合查询 :

      sql 复制代码
      SELECT u.username, o.order_id FROM users u JOIN orders o ON u.id = o.user_id;
    • 事务操作 :

      sql 复制代码
      START TRANSACTION;
      UPDATE users SET password='newpass' WHERE username='user1';
      COMMIT;

MySQL 多表查询

MySQL 多表查询是关系型数据库中一个非常重要的功能,它允许开发者从多个相关表中获取数据。MySQL 提供了多种方式来进行多表查询,常见的有 连接查询(JOIN) 和 子查询(Subquery)。掌握这些技巧是数据库设计与查询优化中的核心技能。

以下是 MySQL 多表查询的总结,涵盖了常用的连接类型、子查询以及实际应用中的查询示例。


一、连接查询(JOIN)

1.1 INNER JOIN(内连接)

内连接是最常见的连接查询,它只返回两个表中匹配条件的数据。如果某一行在其中一个表中不存在对应的匹配行,那么该行将不会出现在结果集中。

语法:

sql 复制代码
SELECT columns
FROM table1
INNER JOIN table2 ON table1.column = table2.column;

示例 :

假设有两个表:

  • orders 表(存储订单信息)
  • customers 表(存储客户信息)

我们希望查询每个订单对应的客户信息:

sql 复制代码
SELECT orders.order_id, customers.customer_name, orders.order_date
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;

此查询返回订单和客户的匹配结果,仅显示那些在 orders 表中有订单,并且在 customers 表中有对应客户的记录。


1.2 LEFT JOIN(左连接)

左连接 返回左表中的所有行,即使右表中没有匹配的数据,右表中的数据为空(NULL)。

语法:

sql 复制代码
SELECT columns
FROM table1
LEFT JOIN table2 ON table1.column = table2.column;

示例 :

我们希望查询所有订单,包括那些没有匹配到客户的订单:

sql 复制代码
SELECT orders.order_id, customers.customer_name, orders.order_date
FROM orders
LEFT JOIN customers ON orders.customer_id = customers.customer_id;

此查询会显示所有订单,即使某些订单的客户信息缺失。


1.3 RIGHT JOIN(右连接)

右连接与左连接相反,它返回右表中的所有行,即使左表中没有匹配的数据。

语法:

sql 复制代码
SELECT columns
FROM table1
RIGHT JOIN table2 ON table1.column = table2.column;

示例 :

我们希望查询所有客户,包括那些没有下订单的客户:

sql 复制代码
SELECT customers.customer_name, orders.order_id, orders.order_date
FROM customers
RIGHT JOIN orders ON customers.customer_id = orders.customer_id;

此查询会显示所有客户信息,包含那些没有订单的客户。


1.4 FULL JOIN(全连接)

全连接 返回两个表中的所有行,不论是否匹配。MySQL 本身不直接支持 FULL JOIN,但可以通过使用 UNION 结合 LEFT JOIN 和 RIGHT JOIN 来实现全连接。

语法:

sql 复制代码
SELECT columns
FROM table1
LEFT JOIN table2 ON table1.column = table2.column
UNION
SELECT columns
FROM table1
RIGHT JOIN table2 ON table1.column = table2.column;

示例 :

返回所有客户和订单,不论是否有匹配关系:

sql 复制代码
SELECT customers.customer_name, orders.order_id, orders.order_date
FROM customers
LEFT JOIN orders ON customers.customer_id = orders.customer_id
UNION
SELECT customers.customer_name, orders.order_id, orders.order_date
FROM customers
RIGHT JOIN orders ON customers.customer_id = orders.customer_id;

1.5 CROSS JOIN(交叉连接)

交叉连接会返回两个表的笛卡尔积,即每一个表中的行都和另一个表中的每一行进行组合,不考虑是否有匹配条件。

语法:

sql 复制代码
SELECT columns
FROM table1
CROSS JOIN table2;

示例 :

查询所有产品与所有订单的组合:

sql 复制代码
SELECT products.product_name, orders.order_id
FROM products
CROSS JOIN orders;

此查询返回所有产品和订单的每一种组合。


二、子查询(Subquery)

2.1 单行子查询

单行子查询返回一行数据,常用于条件判断。

语法:

sql 复制代码
SELECT columns
FROM table
WHERE column = (SELECT value FROM other_table WHERE condition);

示例 :

查询下单次数最多的客户信息:

sql 复制代码
SELECT * 
FROM customers 
WHERE customer_id = (SELECT customer_id 
                     FROM orders 
                     GROUP BY customer_id 
                     ORDER BY COUNT(*) DESC LIMIT 1);

2.2 多行子查询

多行子查询 返回多行数据,常与 IN、ANY、ALL 等关键字一起使用。

语法:

sql 复制代码
SELECT columns
FROM table
WHERE column IN (SELECT column FROM other_table WHERE condition);

示例 :

查询下过订单的所有客户信息:

sql 复制代码
SELECT * 
FROM customers 
WHERE customer_id IN (SELECT customer_id FROM orders);

2.3 相关子查询

相关子查询是指子查询依赖于外部查询的值。与普通子查询不同,它在外部查询的每一行执行一次。

语法:

sql 复制代码
SELECT columns
FROM table1 AS t1
WHERE column = (SELECT value FROM table2 AS t2 WHERE t1.column = t2.column);

示例 :

查询订单金额大于所有该客户历史订单平均金额的订单:

sql 复制代码
SELECT order_id, order_total
FROM orders AS o1
WHERE order_total > (SELECT AVG(order_total)
                     FROM orders AS o2
                     WHERE o1.customer_id = o2.customer_id);

三、联合查询(UNION)

UNION 用于合并两个或多个 SELECT 查询的结果。每个查询的列数和数据类型必须匹配。

语法:

sql 复制代码
SELECT columns FROM table1
UNION
SELECT columns FROM table2;

示例 :

查询所有客户和供应商的名称(假设有 customers 和 suppliers 表):

sql 复制代码
SELECT customer_name AS name FROM customers
UNION
SELECT supplier_name AS name FROM suppliers;

注意:

  • UNION 默认去重,可以使用 UNION ALL 显示所有结果,包括重复项。

四、总结

  1. 内连接(INNER JOIN) 是最常用的多表查询方式,只返回两个表之间匹配的数据。用于查找共有信息。
  2. 左连接(LEFT JOIN) 和 右连接(RIGHT JOIN) 用于在查询中保留一方表的所有数据,即使另一方没有匹配数据。
  3. 全连接(FULL JOIN) 可以通过 UNION 来模拟,它返回两个表中的所有数据,不论是否有匹配项。
  4. 交叉连接(CROSS JOIN) 用于生成笛卡尔积,慎用。
  5. 子查询(Subquery) 用于嵌套查询,单行子查询和多行子查询在复杂查询中非常有用。
  6. 联合查询(UNION) 合并多个查询的结果集,但需要保证各查询的列数和类型相同。

通过理解这些查询方式,开发者能够轻松地处理多表数据操作,实现复杂业务逻辑。

1.3 PC 上的 MySQL 安装

在 PC(Windows 或 macOS)上安装 MySQL,可以通过 MySQL 官网下载合适版本:

下载完成后按照安装向导安装,并根据需求设置用户名和密码。


2. PostgreSQL

PostgreSQL 是一个高扩展性和标准化的关系型数据库,支持复杂的数据类型和查询,常用于金融、GIS等高要求的数据处理场景。

2.1 CentOS 7 安装 PostgreSQL
  1. 添加 PostgreSQL 仓库:

    bash 复制代码
    sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-centos10-10-2.noarch.rpm
  2. 安装 PostgreSQL:

    bash 复制代码
    sudo yum install -y postgresql10-server postgresql10
  3. 初始化数据库并启动:

    bash 复制代码
    sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
    sudo systemctl start postgresql-10
    sudo systemctl enable postgresql-10
2.2 PostgreSQL 开发使用
  1. 创建用户和数据库:

    bash 复制代码
    sudo -u postgres psql

    在 psql 中:

    sql 复制代码
    CREATE USER devuser WITH PASSWORD 'devpassword';
    CREATE DATABASE devdb OWNER devuser;
    GRANT ALL PRIVILEGES ON DATABASE devdb TO devuser;
  2. 表和数据操作:

    sql 复制代码
    \c devdb;
    CREATE TABLE products (
        id SERIAL PRIMARY KEY,
        name VARCHAR(100),
        price NUMERIC(12, 2)
    );
    INSERT INTO products (name, price) VALUES ('Laptop', 999.99);
    SELECT * FROM products;
  3. 高级操作:复杂查询与函数:

    • 窗口函数 :

      sql 复制代码
      SELECT name, price, RANK() OVER (ORDER BY price DESC) FROM products;
    • 自定义函数 :

      sql 复制代码
      CREATE FUNCTION calculate_discount(price NUMERIC) RETURNS NUMERIC AS $$
      BEGIN
          RETURN price * 0.9;
      END;
      $$ LANGUAGE plpgsql;

  1. MySQL 和 PostgreSQL 是关系型数据库,适合复杂事务和查询的场景。MySQL 更加简便,PostgreSQL 更加标准化和强大

三、非关系型数据库

1. MongoDB

MongoDB 是一种文档型的 NoSQL 数据库,使用 JSON 风格的 BSON 文档存储数据,常用于海量数据存储和实时分析场景。

1.1 CentOS 7 安装 MongoDB
  1. 添加 MongoDB 仓库:

    bash 复制代码
    cat <<EOF | sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo
    [mongodb-org-4.4]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/4.4/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
    EOF
  2. 安装 MongoDB:

    bash 复制代码
    sudo yum install -y mongodb-org
  3. 启动 MongoDB:

    bash 复制代码
    sudo systemctl start mongod
    sudo systemctl enable mongod
1.2 MongoDB 开发使用
  1. 连接 MongoDB:

    bash 复制代码
    mongo
  2. 创建数据库与集合:

    javascript 复制代码
    use mydb;
    db.createCollection("users");
    db.users.insert({ name: "Alice", age: 25, email: "alice@example.com" });
  3. 查询数据:

    javascript 复制代码
    db.users.find();
  4. 高级操作:索引与聚合:

    • 创建索引 :

      javascript 复制代码
      db.users.createIndex({ email: 1 });
    • 聚合操作 :

      javascript 复制代码
      db.users.aggregate([
        { $match: { age: { $gt: 20 } } },
        { $group: { _id: null, avgAge: { $avg: "$age" } } }
      ]);

2. Redis

Redis 是一种基于内存的键值存储数据库,广泛用于缓存、消息队列等需要高性能的场景。

2.1 CentOS 7 安装 Redis
  1. 安装 EPEL 仓库:

    bash 复制代码
    sudo yum install epel-release -y
  2. 安装 Redis:

    bash 复制代码
    sudo yum install redis -y
  3. 启动 Redis:

    bash 复制代码
    sudo systemctl start redis
    sudo systemctl enable redis
2.2 Redis 开发使用
  1. 连接 Redis:

    bash 复制代码
    redis-cli
  2. 基本操作:

    bash 复制代码
    SET user:1 "Alice"
    GET user:1
  3. 高级操作:集合与发布订阅:

    • 集合操作 :

      bash 复制代码
      SADD myset "item1" "item2" "item3"
      SMEMBERS myset
    • 发布订阅 :

      bash 复制代码
      SUBSCRIBE mychannel
      PUBLISH mychannel "Hello, Redis!"

连接工具

在 CentOS 7 环境中,安装好 MySQL、PostgreSQL、MongoDB 和 Redis 后,可以使用图形化界面工具和命令行工具连接和管理数据库。以下是常用的数据库连接工具介绍,以及它们在不同操作系统下的安装方式。

1. MySQL

常用连接工具
  • MySQL Workbench: 官方提供的图形化管理工具,支持查询、设计和管理 MySQL 数据库。
  • DBeaver: 一款跨平台数据库管理工具,支持多种数据库,包括 MySQL。
  • HeidiSQL: 轻量级的 MySQL 图形化管理工具。
安装和使用
  • MySQL Workbench:

    • Windows 和 macOS 可以直接从 MySQL Workbench 官方网站 下载并安装。

    • CentOS 安装:

      bash 复制代码
      sudo yum install mysql-workbench
  • DBeaver:

    • DBeaver 在 官方页面 提供下载包,支持多平台。
    • CentOS 安装:
      1. 下载 DBeaver 的 RPM 包:

        bash 复制代码
        wget https://dbeaver.io/files/dbeaver-ce-latest-stable.x86_64.rpm
      2. 安装 DBeaver:

        bash 复制代码
        sudo yum install -y ./dbeaver-ce-latest-stable.x86_64.rpm
  • HeidiSQL(仅支持 Windows):

连接示例
  1. 打开 MySQL Workbench 或 DBeaver。
  2. 选择 "New Connection"。
  3. 输入以下连接信息:
    • Host : localhost(或远程服务器的 IP 地址)
    • Port : 3306
    • Username : root
    • Password: 你设置的密码
    • Database : mydb(可选)

2. PostgreSQL

常用连接工具
  • pgAdmin: 官方提供的图形化管理工具,支持查询、设计和管理 PostgreSQL 数据库。
  • DBeaver: 同样支持 PostgreSQL。
安装和使用
  • pgAdmin:

    • Windows 和 macOS 用户可以从 pgAdmin 官方网站 下载。
    • CentOS 安装:
      1. 安装 EPEL 仓库:

        bash 复制代码
        sudo yum install -y epel-release
      2. 安装 pgAdmin 4:

        bash 复制代码
        sudo yum install -y pgadmin4
  • DBeaver:如上所述,DBeaver 支持 PostgreSQL。

连接示例
  1. 打开 pgAdmin 或 DBeaver。
  2. 创建一个新连接,输入以下信息:
    • Host : localhost(或远程服务器的 IP 地址)
    • Port : 5432
    • Username : postgres(或创建的用户)
    • Password: 对应用户密码
    • Database : mydb(可选)

3. MongoDB

常用连接工具
  • MongoDB Compass: MongoDB 官方提供的图形化工具,支持管理和查询 MongoDB 数据。
  • Robo 3T: 轻量级的 MongoDB 管理工具。
安装和使用
  • MongoDB Compass:

    • 从 MongoDB 官方网站 下载适用于你的系统的 Compass 版本。
    • CentOS 安装:
      1. 下载 MongoDB Compass:

        bash 复制代码
        wget https://downloads.mongodb.com/compass/mongodb-compass-1.33.1.x86_64.rpm
      2. 安装 Compass:

        bash 复制代码
        sudo yum install -y ./mongodb-compass-1.33.1.x86_64.rpm
  • Robo 3T:

连接示例
  1. 打开 MongoDB Compass 或 Robo 3T。
  2. 输入以下连接信息:
    • Host : localhost
    • Port : 27017
    • Authentication: 使用你设置的用户名和密码(如果启用了身份验证)
    • Database : mydb(可选)

4. Redis

常用连接工具
  • RedisInsight: Redis 官方提供的图形化管理工具,支持 Redis 查询和数据管理。
  • Another Redis Desktop Manager (RDM): 跨平台的 Redis 管理工具。
安装和使用
连接示例
  1. 打开 RedisInsight 或 RDM。
  2. 新建一个 Redis 连接,输入以下信息:
    • Host : localhost(或远程 Redis 服务器的 IP 地址)
    • Port : 6379
    • Password: 如果 Redis 设置了密码,请填写,否则留空。

总结

  • MySQL:可使用 MySQL Workbench、DBeaver、HeidiSQL 等工具。
  • PostgreSQL:可使用 pgAdmin、DBeaver 等工具。
  • MongoDB:可使用 MongoDB Compass、Robo 3T 等工具。
  • Redis:可使用 RedisInsight、RDM 等工具。

这些工具提供了方便的图形界面,帮助开发者可视化管理数据库,执行查询,并进行调试和优化。

Elasticsearch

Elasticsearch 是一款开源的分布式搜索引擎,专为全文搜索、结构化数据搜索和分析而设计。它属于 NoSQL 数据库范畴,但其主要用途是搜索和分析大规模的文本和数据。Elasticsearch 具有高扩展性、实时搜索和分布式架构等特点,被广泛应用于日志分析、搜索引擎、推荐系统等场景。

以下是 Elasticsearch 从安装到开发的全流程总结,适用于 CentOS 7 服务器和本地开发环境。


一、Elasticsearch 概述

1. 特性:

  • 全文搜索:能够在海量文档中进行快速的全文搜索。
  • 分布式架构:内置分片和副本机制,可以轻松扩展到数千个节点。
  • 实时分析:通过 Kibana、Logstash 等工具进行实时的数据分析。
  • 多租户支持:可以处理多种类型的数据,并针对不同的数据类型进行索引和查询。

2. 典型使用场景:

  • 日志分析:通过 Elasticsearch、Logstash 和 Kibana(即 ELK Stack)构建实时日志分析平台。
  • 全文检索:在大型文档集内进行关键词搜索,如电子商务网站的产品搜索。
  • 监控与报警:与 Beats 或其他数据采集工具结合,用于监控系统的各类指标数据并触发报警。

二、Elasticsearch 安装(CentOS 7)

1. 添加 Elasticsearch 仓库

首先,确保 CentOS 7 已经安装 wget,并添加 Elasticsearch 的 yum 源。

bash 复制代码
sudo yum install -y wget
sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.0-x86_64.rpm
sudo rpm --install elasticsearch-7.10.0-x86_64.rpm

2. 配置 Elasticsearch

Elasticsearch 的配置文件位于 /etc/elasticsearch/elasticsearch.yml,你可以通过编辑该文件进行设置:

bash 复制代码
sudo vi /etc/elasticsearch/elasticsearch.yml

一些重要的配置项:

  • 集群名称 :定义集群的名字,如 cluster.name: my-cluster。
  • 节点名称 :配置节点的名称,如 node.name: node-1。
  • 网络绑定 :配置 Elasticsearch 可以监听的地址,如 network.host: 0.0.0.0 以允许外部访问。

3. 启动和设置自启

bash 复制代码
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

4. 验证 Elasticsearch 运行状态

你可以通过 HTTP 请求验证 Elasticsearch 是否成功启动:

bash 复制代码
curl -X GET "localhost:9200/"

若一切正常,将返回 Elasticsearch 的基本信息,如版本号等。


三、Elasticsearch 核心概念

1. 索引(Index)

  • Elasticsearch 中的数据存储在索引(类似于关系型数据库中的数据库)中。
  • 每个索引都有多个文档 ,并且每个文档都有一组字段,类似于关系型数据库的表和行。

2. 文档(Document)

  • 文档是 Elasticsearch 中最基本的数据单位,每个文档可以理解为一条 JSON 格式的数据。

3. 分片与副本(Shard & Replica)

  • 分片:数据被水平切分到多个分片中,使得 Elasticsearch 能够水平扩展。
  • 副本:每个分片有多个副本,以确保数据的高可用性。

四、Elasticsearch 开发使用

1. 插入数据(Indexing)

可以通过 POST 请求将文档插入 Elasticsearch 索引。

bash 复制代码
curl -X POST "localhost:9200/my_index/_doc/1" -H 'Content-Type: application/json' -d'
{
  "name": "Alice",
  "age": 30,
  "city": "New York"
}'

该命令会在 my_index 索引中插入一条文档,ID 为 1。

2. 查询数据(Searching)

使用 GET 请求来查询数据。

  • 简单查询:

    bash 复制代码
    curl -X GET "localhost:9200/my_index/_search?q=name:Alice"
  • 复杂查询 :

    使用 POST 请求可以进行更复杂的查询,如多字段匹配:

    bash 复制代码
    curl -X POST "localhost:9200/my_index/_search" -H 'Content-Type: application/json' -d'
    {
      "query": {
        "bool": {
          "must": [
            { "match": { "name": "Alice" } },
            { "range": { "age": { "gte": 25 } } }
          ]
        }
      }
    }'

3. 更新数据(Updating)

使用 POST 请求可以更新已有文档中的数据。

bash 复制代码
curl -X POST "localhost:9200/my_index/_update/1" -H 'Content-Type: application/json' -d'
{
  "doc": {
    "age": 31
  }
}'

4. 删除数据(Deleting)

使用 DELETE 请求可以删除索引或文档。

  • 删除文档:

    bash 复制代码
    curl -X DELETE "localhost:9200/my_index/_doc/1"
  • 删除整个索引:

    bash 复制代码
    curl -X DELETE "localhost:9200/my_index"

五、Elasticsearch 高级操作

1. 索引映射(Index Mapping)

在 Elasticsearch 中,映射(mapping)定义了字段的数据类型以及如何处理这些字段。例如,可以将 age 字段设置为整数类型。

bash 复制代码
curl -X PUT "localhost:9200/my_index" -H 'Content-Type: application/json' -d'
{
  "mappings": {
    "properties": {
      "name": { "type": "text" },
      "age": { "type": "integer" },
      "city": { "type": "keyword" }
    }
  }
}'

2. 聚合查询(Aggregation)

Elasticsearch 强大的聚合功能允许对数据进行分组和统计。以下示例展示了按城市进行分组,并计算每个城市的用户数量。

bash 复制代码
curl -X POST "localhost:9200/my_index/_search" -H 'Content-Type: application/json' -d'
{
  "size": 0,
  "aggs": {
    "group_by_city": {
      "terms": { "field": "city.keyword" }
    }
  }
}'

3. 分片与集群管理

在生产环境中,Elasticsearch 通常运行在集群模式下,多个节点组成集群。通过分片和副本配置,可以管理和扩展集群容量。

  • 查看分片状态:

    bash 复制代码
    curl -X GET "localhost:9200/_cat/shards"
  • 动态调整副本数:

    bash 复制代码
    curl -X PUT "localhost:9200/my_index/_settings" -H 'Content-Type: application/json' -d'
    {
      "index": {
        "number_of_replicas": 2
      }
    }'

六、Elasticsearch 可视化工具:Kibana

为了更方便地管理和分析 Elasticsearch 中的数据,可以使用 Kibana,它是 Elastic Stack 的一部分,主要用于数据可视化。

1. 安装 Kibana

bash 复制代码
sudo yum install kibana -y
sudo systemctl start kibana
sudo systemctl enable kibana

Kibana 启动后,默认通过 http://localhost:5601 访问。你可以通过 Kibana 的图形界面来进行数据分析和可视化。


七、总结

  1. Elasticsearch 是一种非常适合全文搜索和实时数据分析的分布式搜索引擎,特别适合处理大规模的非结构化数据。
  2. 它支持分布式架构 、实时搜索 、高扩展性等特点,是构建搜索引擎和日志分析系统的理想选择。
  3. 通过结合 Kibana 和 Logstash 等工具,能够轻松构建一个功能强大的数据处理与分析平台。
相关推荐
草莓熊Lotso2 小时前
【C++ 基于微服务的即时通讯系统】etcd + brpc 从安装到服务注册发现全链路实战
网络·数据库·c++·redis·微服务·etcd
Lethehong8 小时前
Oracle 加个字段,目标库就报错?KFS 用“先拆后组“打通异构 DDL
数据库·oracle
Web极客码8 小时前
锁定真正的磁盘卡顿:我用 OpenCode 配合 eBPF 诊断 NVMe 队列深度延迟与 I/O 写放大
数据库·oracle
cspttty9 小时前
2027用户研究求职准备:应用统计学如何补齐研究设计与业务表达
大数据·数据库
roman_日积跬步-终至千里10 小时前
【数据Agent论文·查询与语义|05】Spider:为什么换一个数据库,模型就不会查了?
数据库·数据分析
猫咪很可爱10 小时前
Oracle RAC 启动失败排查:私网通信与内核参数优化实战
运维·数据库·oracle
XLYcmy10 小时前
《数字经济赋能城市低碳治理的路径研究检索报告》审阅与修改指导意见——基于完整检索报告体例的完整性诊断、学术规范核查与方法论纠偏 上
数据库·ai·chatgpt·文心一言·检索·知网·豆包
泡海椒10 小时前
JQuick-SQL 快速开始:注册内存表并执行查询
数据库·windows·sql
ss27311 小时前
PG实战笔记 | 09 PostgreSQL psql客户端基本操作
数据库·笔记·postgresql
电商API_1800790524711 小时前
反向海淘多币种结算:汇率该在哪个时点被冻结
java·开发语言·数据库·跨境电商·1688 api