如何使用MySQL命令登录Doris?

MySQL命令登录_Doris是用于访问和操作Doris数据库的MySQL客户端命令。

Apache Doris 是一个现代化的MPP(大规模并行处理)数据库管理系统,支持实时数据分析和高并发查询,它采用MySQL协议进行通信,因此用户可以通过MySQL客户端或JDBC连接到Doris集群,本文将详细介绍如何使用MySQL命令登录Doris,并展示一些基本操作。

MySQL 命令简介

1. Root 用户登录与密码修改

Doris 内置了 root 和 admin 用户,初始密码均为空,启动 Doris 程序后,可以通过以下命令以 root 用户身份登录:

mysql h FE_HOST P9030 uroot

FE_HOST 是任意一个 FrontEnd (FE) 节点的 IP 地址。

9030 是 fe.conf 文件中配置的 query_port 端口号。

登录成功后,可以使用以下命令修改 root 用户的密码:

SET PASSWORD FOR 'root' = PASSWORD('your_password');

建议设置强密码以提高安全性,下次登录时,需要使用新设置的密码。

2. 创建新用户

通过 root 用户,可以创建新的普通用户,创建一个名为test 的用户,密码为test_passwd

CREATE USER 'test' IDENTIFIED BY 'test_passwd';

新创建的普通用户默认没有任何权限,需要进一步授权。

数据表的创建与数据导入

1. 创建数据库

初始可以通过 root 或 admin 用户创建数据库:

CREATE DATABASE example_db;

所有命令都可以使用HELP command; 查看详细的语法帮助,

HELP CREATE DATABASE;

如果不清楚命令的全名,可以使用模糊查询:

HELP CREATE;

这将匹配到CREATE DATABASE,CREATE TABLE,CREATE USER 等命令。

2. 账户授权

数据库创建完成后,可以通过 root 或 admin 账户将example_db 的读写权限授予普通用户,如test

GRANT ALL ON example_db.* TO 'test';

授权之后,使用test 账户登录即可操作example_db 数据库:

mysql h FE_HOST P9030 utest ptest_passwd

创建数据表

使用CREATE TABLE 命令建立数据表,更多详细参数可以查看:

HELP CREATE TABLE;

首先切换到目标数据库:

USE example_db;

Doris 支持单分区和复合分区两种建表方式。

1. 单分区

建立一个名为table1 的逻辑表,分桶列为siteid,桶数为10:

如何使用MySQL命令登录Doris?
CREATE TABLE table1 (
    siteid INT DEFAULT '10',
    citycode SMALLINT,
    username VARCHAR(32) DEFAULT '',
    pv BIGINT SUM DEFAULT '0'
) AGGREGATE KEY(siteid, citycode, username) DISTRIBUTED BY HASH(siteid) BUCKETS 10 PROPERTIES("replication_num" = "1");

2. 复合分区

在复合分区中,第一级称为 Partition(分区),用户可以指定某一维度列作为分区列(当前只支持整型和时间类型的列),并指定每个分区的取值范围,第二级称为 Distribution(分桶),用户可以指定一个或多个维度列以及桶数对数据进行 HASH 分布。

推荐使用复合分区的场景包括有时间维度的数据、历史数据删除需求以及解决数据倾斜问题,建立一个名为table2 的逻辑表:

CREATE TABLE table2 (
    event_day DATE,
    siteid INT DEFAULT '10',
    citycode SMALLINT,
    username VARCHAR(32) DEFAULT '',
    pv BIGINT SUM DEFAULT '0'
) AGGREGATE KEY(event_day, siteid, citycode, username) PARTITION BY RANGE(event_day) (PARTITION p201706 VALUES LESS THAN ('20170701'), PARTITION p201707 VALUES LESS THAN ('20170801'), PARTITION p201708 VALUES LESS THAN ('20170901')) DISTRIBUTED BY HASH(siteid) BUCKETS 10;

FAQs

Q1: 如何查看当前数据库中的所有表?

A1: 你可以使用以下命令查看当前数据库中的所有表:

SHOW TABLES;

Q2: 如何撤销某个用户的权限?

A2: 你可以使用以下命令撤销某个用户的权限:

REVOKE ALL ON example_db.* FROM 'test';

通过上述介绍,相信你已经对如何使用MySQL命令登录Doris并执行基本操作有了全面的了解,希望这些内容能对你的工作和学习有所帮助。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1106487.html

(0)
未希的头像未希新媒体运营
上一篇 2024-09-30
下一篇 2024-09-30

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入