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

执行完:

bash 复制代码
docker run -p 2881:2881 --name obstandalone -e MINI_MODE=1 -d oceanbase/oceanbase-ce

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

4. 连接实例

按照官方文档的描述:https://open.oceanbase.com/quickStart

这里我用的是OBClient和MySQL的方式

bash 复制代码
obclient -h127.0.0.1 -uroot@sys -A -Doceanbase -P2881 -p

第一层没有密码,直接回车就可以。

5. 修改密码

此时已经可以写sql语句去创建数据库和表了,不想修改密码的可以直接下一步。

按照官方文档:通过 ALTER USER 语句修改密码

bash 复制代码
ALTER USER sqluser01 IDENTIFIED BY ******;

sqluser01是用户名,可以是root

BY后面是密码,不用双引号。

修改密码后:

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

6. 创建数据库,表

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

参考:通过 MySQL 客户端连接 OceanBase 租户

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

语法和MySQL一致:

bash 复制代码
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
相关推荐
独行soc40 分钟前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
White_Mountain1 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu
Code apprenticeship1 小时前
怎么利用Redis实现延时队列?
数据库·redis·缓存
百度智能云技术站1 小时前
广告投放系统成本降低 70%+,基于 Redis 容量型数据库 PegaDB 的方案设计和业务实践
数据库·redis·oracle
装不满的克莱因瓶1 小时前
【Redis经典面试题六】Redis的持久化机制是怎样的?
java·数据库·redis·持久化·aof·rdb
梦想平凡3 小时前
PHP 微信棋牌开发全解析:高级教程
android·数据库·oracle
TianyaOAO3 小时前
mysql的事务控制和数据库的备份和恢复
数据库·mysql
Ewen Seong3 小时前
mysql系列5—Innodb的缓存
数据库·mysql·缓存
码农老起4 小时前
企业如何通过TDSQL实现高效数据库迁移与性能优化
数据库·性能优化
夏木~5 小时前
Oracle 中什么情况下 可以使用 EXISTS 替代 IN 提高查询效率
数据库·oracle