• Databend使用入门


    Databend官网 :专注于打造全球最强云数仓,弹性、简单、低成本,支持mysql、clickhouse有线连接协议(白话就是可以直接用它们的客户端连接Databend服务)。

    Databend启动

    Databend默认是使用本地文件系统,可以支持很多知名的OSS,这里我用到了Minio存储容器,所以多了一步Minio的启动。

    启动Minio存储容器

    Minio的使用就不多赘述了,这里我提前打入docker了,详细见Minio官网。

    docker ps -a命令查询,如果已经创建了Minio容器,可以直接docker start 容器名 命令来启动。

    否则安装Minio容器并配置(详细配置信息见Databend官网)。

    手动部署节点
    ./databend-meta -c ./configs/databend-meta.toml > meta.log 2>&1 &
    ./databend-query -c ./configs/databend-query.toml > query.log 2>&1 &
    
    • 1
    • 2

    测试节点是否可用

    curl -I  http://127.0.0.1:28101/v1/health
    curl -I  http://127.0.0.1:8081/v1/health
    
    • 1
    • 2
    Shell部署节点

    手动太麻烦了,直接上Shell脚本(手动加上执行权限chmod +x xx.sh),现在我们下载发布版的时候是有自带脚本文件的,这个是我以前写的Shell。

    start.sh

    path="/usr/bin/databend/bin"
    ${path}/databend-meta -c ./configs/databend-meta.toml > meta.log 2>&1 &
    ${path}/databend-query -c ./configs/databend-query.toml > query.log 2>&1 &
    
    • 1
    • 2
    • 3

    stop.sh

    # get pid list
    ls=`ps -elf | grep databend | head -n 2 | awk '{print $4}'`
    # 切割字符串
    len=0
    for pid in ${ls[*]}
    do
        pids[len]=$pid
        len=`expr $len + 1`
        # echo ${pid}
    done
    # pids数组长度大于1
    if [ ${#pids[@]} -gt 1 ]
    then
        for i in ${pids[*]}
        do
            kill -9 ${i}
        done
        echo "databend is stoped"
    else
        echo "databend no starting"
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    con_test.sh

    echo '----------server-status-------------'
    curl -I  http://127.0.0.1:8101/v1/health
    curl -I  http://127.0.0.1:8001/v1/health
    echo '----------process-info-------------'
    ps -elf | grep databend
    
    • 1
    • 2
    • 3
    • 4
    • 5

    连接

    本地连接
    mysql -uroot -h 127.0.0.1 -P3307
    
    • 1
    外部连接

    创建用户并授权:

    CREATE USER user1 IDENTIFIED WITH no_password;
    GRANT ALL ON *.* TO user1;
    
    • 1
    • 2

    如果创建的用户是有密码的连接时会出错(待解决):

    CREATE USER user1 IDENTIFIED WITH sha256_password BY '1234';
    GRANT ALL ON *.* TO user1;
    # 连接时会出现下面的错误,不知道怎么解决,好像主要是服务端的问题
    > mysql -uuser1 -p1234 -h 192.168.81.134 -P3307
    mysql: [Warning] Using a password on the command line interface can be insecure.
    ERROR 1698 (28000): Authenticate failed, user: "user1", auth_plugin: "mysql_native_password"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    连接:

    mysql -uuser1 -h [ip] -P3307
    
    • 1

    Databend meta-info

    获取某个database的所有table信息

    SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = [databaseName] and table_type='BASE TABLE' 
    
    • 1

    获得所有简略的column信息

    select column_name,data_type,is_nullable,column_default,table_name from INFORMATION_SCHEMA.COLUMNS;
    
    • 1
  • 相关阅读:
    spring bean管理2
    输入一批数,找中位数
    【AI】数学基础——最优化
    广义线性模型(Generalized Linear Model)之三:Poisson回归
    Node.js 调用 fluent-ffmpeg
    Oracle定时任务
    数据分析思维分析方法和业务知识——业务指标
    HTML5- 拖拽功能
    在教学中常被问到的几个vue3.x与typescript的问题,统一解答
    ASP.NET Core中的缓存
  • 原文地址:https://blog.csdn.net/hys__handsome/article/details/126571425