windows环境安装OceanBase数据库并创建表、插入数据

windows环境安装OceanBase数据库并创建表、插入数据

前言:OceanBase数据库目前不支持直接在Windows环境下安装,安装比较麻烦,记录一下安装过程

1.安装方案

根据官方文档:https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001049797的描述:
在这里插入图片描述

  • 方案一:需要Linux环境,后续的官方教程和Windows自带的子系统Ubuntu-20.04不太适配。
  • 方案三:先安装docker,通过docker安装。
    这里选择了方案三。

2. 安装Docker

直接去Docker官网下载Docker Desktop桌面应用即可。
安装完了不需要登陆。
这里我遇到的问题是:安装完了打开Docker一直是“Docker Engine stopped”
按照这篇文章顺利解决:windows 11系统下打开docker 提示 docker engine stopped

3. 拉取镜像、创建实例

按照这篇文章的步骤:阿里oceanbase数据库安装步骤-windows-docker
执行完:

docker run -p 2881:2881 --name obstandalone -e MINI_MODE=1 -d oceanbase/oceanbase-ce

后就创建了一个名称是obstandalone 的实例

4. 连接实例

按照官方文档的描述:https://open.oceanbase.com/quickStart
在这里插入图片描述
这里我用的是OBClient和MySQL的方式

obclient -h127.0.0.1 -uroot@sys -A -Doceanbase -P2881 -p

在这里插入图片描述
第一层没有密码,直接回车就可以。

5. 修改密码

此时已经可以写sql语句去创建数据库和表了,不想修改密码的可以直接下一步。
按照官方文档:通过 ALTER USER 语句修改密码

ALTER USER sqluser01 IDENTIFIED BY ******;

sqluser01是用户名,可以是root
BY后面是密码,不用双引号。
修改密码后:

quit;
obclient -h127.0.0.1 -uroot@sys -A -Doceanbase -P2881 -p
# 此时需要输入刚才设置的密码

6. 创建数据库,表

OceanBase数据库语法和MySQL一致,如果电脑上安装了MySQL并配置了系统变量path可以直接cmd通过MySQL连接实例。
参考:通过 MySQL 客户端连接 OceanBase 租户

mysql -h$host -P$port -u$user_name -p****** [-c] [-A] [$database_name]
# 和obclient的区别在于不需要sys这个租户名称,直接root即可,注意大写p是端口,小写p是密码

在这里插入图片描述
语法和MySQL一致:

show databases; # 查看默认数据库
CREATE DATABASE database_name; # 创建数据库
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL
);
INSERT INTO users (username, email)
VALUES 
('john_doe', 'john.doe@example.com'),
('jane_smith', 'jane.smith@example.com'),
('alice_jones', 'alice.jones@example.com');

参考链接:

  1. oceanbase官方文档
  2. windows 11系统下打开docker 提示 docker engine stopped
  3. 阿里oceanbase数据库安装步骤-windows-docker
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OceanBase 是一款分布式数据库系统,它支持多种特性包括分区表操作。分区表是数据库系统用于优化查询性能的一种机制,通过将大表划分为更小、更独立的部分来提高查询效率。 ### OceanBase 分区表的基本概念 在 OceanBase 中创建分区表时,你需要指定表应该如何划分,通常基于某一列值的范围进行切分。OceanBase 支持多种类型的分区策略,如范围分区(Range Partitioning)、列表分区(List Partitioning)、哈希分区(Hash Partitioning)等。每种分区方式都有其特定的应用场景。 #### 插入数据到分区表 当你向分区表插入数据时,OceanBase 会根据分区键的值自动将数据放置在相应的分区中。OceanBase 的分区规则决定了如何分配数据到不同的物理存储部分,这有助于减少跨节点的磁盘访问次数,进而提升查询性能。 ### 示例 假设我们有一个名为 `sales` 的表,包含销售记录,并希望通过日期字段进行范围分区: ```sql CREATE TABLE sales ( sale_id INT PRIMARY KEY, product VARCHAR(50), sale_date DATE, amount DECIMAL(10,2) ) PARTITION BY RANGE (sale_date); ``` 在这个例子中,表 `sales` 根据 `sale_date` 字段进行了范围分区。你可以想象,每个具体的日期都会对应一个单独的物理分区。 #### 向分区表插入数据 为了插入一条数据,只需使用标准的 INSERT INTO 语句,并明确指出你要插入数据应属于哪个分区: ```sql INSERT INTO sales(sale_id, product, sale_date, amount) VALUES(1, 'Product A', '2023-09-01', 100.5); ``` 如果数据库配置了合理的时间间隔来处理分区内的数据OceanBase 将自动处理数据的分布情况,确保数据按照正确的分区规则存储。 ### 注意事项 1. **分区键选择**:选择合适的分区键至关重要,它应该能够均匀地覆盖整个数据集,并尽可能避免极端偏斜的情况。 2. **查询优化**:合理利用分区可以显著提高查询速度,但在设计时需考虑到复杂查询可能会涉及多个分区的情况。 3. **维护与迁移**:定期检查分区的有效性和数据分布情况,必要时调整分区策略或进行数据迁移操作。 4. **数据一致性**:在高并发环境中,分区表的操作需要考虑数据的一致性问题,确保更新操作不会导致数据不一致或丢失。 总之,在 OceanBase 中使用分区表是一种高效管理大量数据的技术手段,能够极大地提升查询性能并优化数据库的整体运行效率。合理规划分区策略是实现这一目标的关键步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值