湖南营销型网站建设 皆来磐石网络,延边住房和城乡建设局网站,手机单页网站生成系统,品牌建设措施「OceanBase 4.1 体验」OceanBase 4.1社区版的部署及使用体验 一、前言1.1 本次实践介绍1.2 本次实践目的 二、准备环境资源2.1 部署前需准备工作2.2 本地环境规划 三、部署Docker环境3.1 安装Docker3.2 配置Docker镜像加速3.3 开启路由转发3.4 重启Docker服务 四、检查本地Doc… 「OceanBase 4.1 体验」OceanBase 4.1社区版的部署及使用体验 一、前言1.1 本次实践介绍1.2 本次实践目的 二、准备环境资源2.1 部署前需准备工作2.2 本地环境规划 三、部署Docker环境3.1 安装Docker3.2 配置Docker镜像加速3.3 开启路由转发3.4 重启Docker服务 四、检查本地Docker环境4.1 检查docker版本4.2 检查Docker服务4.3 检查磁盘大小4.4 检查内存大小4.5 检查cpu核数4.6 检查2881端口 五、部署OceanBase 4.1社区版5.1 下载OceanBase 4.1镜像5.2 创建OceanBase容器5.3 检查OceanBase容器状态5.4 检查OceanBase容器的运行日志 六、连接到 OceanBase 实例6.1 连接sys租户的root 用户6.2 连接test租户root用户6.3 连接test租户的test用户6.4 创建wordpress数据库6.5 在test租户下创建用户6.6 连接test租户下admin用户6.7 使用mysql客户端连接 七、在OceanBase数据库创建数据表7.1 使用mysql客户端连接OceanBase7.2 创建数据库7.3 进入数据库内7.4 新建数据表7.5 写入数据7.6 查看数据表内容 八、使用DBeaver连接OceanBase 4.1社区版8.1 打开DBeaver软件8.2 选择连接数据库类型8.3 填写数据库连接信息8.4 测试连接及下载相关驱动8.5 查看数据表内容 一、前言
1.1 本次实践介绍 本次部署OceanBase 4.1社区版采用的是使docker单机快速部署方式使用的是dockerhub中oceanbase/oceanbase-ce镜像版本为4.1.0.0版本。该镜像仅供学习或测试使用可以快速部署一个MINI_MODE OceanBase数据库实例极大的提高了部署速度方便快捷。 1.2 本次实践目的 1.本次实践环境为个人测试环境生产环境请根据官方文档指导部署 2.本次OceanBase 4.1社区版部署为docker单机快速部署方式 3.体验OceanBase 4.1社区版的部署及基本使用 二、准备环境资源
2.1 部署前需准备工作
确保机器已经部署docker环境Docker服务状态运行正常宿主机2881端口没有被占用防火墙已放行2881端口确保宿主机内存大于8G宿主机cpu内核总数大于2宿主机磁盘空间大于54G
2.2 本地环境规划 本次实践的个人环境规划如下已经部署好docker环境使用的是一台在PVE虚拟化平台的虚拟机作为实践环境。 hostnameIP地址docker版本操作系统版本CPU核数内存硬盘虚拟化平台服务器类型OceanBase版本docker192.168.3.12723.0.5centos 7.6612G500GPVE虚拟化平台虚拟机OceanBase 4.1社区版
三、部署Docker环境
3.1 安装Docker 执行以下两条命令使用docker快速安装脚本一键快速部署docker。 curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh --mirror Aliyun启动Docker服务并设置开机自启。 systemctl --now enbale docker3.2 配置Docker镜像加速 修改/etc/docker/daemon.json文件配置Docker镜像加速。 echo { registry-mirrors: [https://sp4mg57h.mirror.aliyuncs.com] } /etc/docker/daemon.json 3.3 开启路由转发 开启路由转发并重启网络服务。 [rootdocker ~]# echo net.ipv4.ip_forward1 /etc/sysctl.conf
[rootdocker ~]# systemctl restart network
[rootdocker ~]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward 1
3.4 重启Docker服务 重启Docker服务。 systemctl daemon-reload systemctl restart docker四、检查本地Docker环境
4.1 检查docker版本 检查本机安装的docker版本 [rootdocker ~]# docker -v
Docker version 23.0.5, build bc4487a
4.2 检查Docker服务 检查本机的docker服务状态 [rootdocker ~]# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)Active: active (running) since Thu 2023-04-27 15:40:54 CST; 24min agoDocs: https://docs.docker.comMain PID: 5092 (dockerd)Tasks: 12Memory: 549.2MCGroup: /system.slice/docker.service└─5092 /usr/bin/dockerd -H fd:// --containerd/run/containerd/containerd.sock
4.3 检查磁盘大小 检查docker宿主机的磁盘大小确保满足部署要求。 [rootdocker ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 360G 26G 334G 8% /
devtmpfs 5.8G 0 5.8G 0% /dev
tmpfs 5.8G 0 5.8G 0% /dev/shm
tmpfs 5.8G 8.6M 5.8G 1% /run
tmpfs 5.8G 0 5.8G 0% /sys/fs/cgroup
/dev/sda2 100G 33M 100G 1% /home
/dev/sda3 20G 3.0G 18G 15% /var
/dev/sda1 12G 137M 12G 2% /boot
overlay 20G 3.0G 18G 15% /var/lib/docker/overlay2/c493da6000055915b42d2bec2e169c522122ecd9559a92f1f41f104dd4508b25/merged
tmpfs 1.2G 0 1.2G 0% /run/user/0
[rootdocker ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 500G 0 disk
├─sda1 8:1 0 12G 0 part /boot
├─sda2 8:2 0 100G 0 part /home
├─sda3 8:3 0 20G 0 part /var
├─sda4 8:4 0 1K 0 part
├─sda5 8:5 0 8G 0 part [SWAP]
└─sda6 8:6 0 360G 0 part /
sr0 11:0 1 4.3G 0 rom
4.4 检查内存大小 检查docker宿主机的内存大小确保满足部署要求。 [rootdocker ~]# free -mtotal used free shared buff/cache available
Mem: 11852 5537 345 8 5970 5878
Swap: 8191 7 8184
4.5 检查cpu核数 检查cpu的核心数确保大于2核。 [rootdocker ~]# cat /proc/cpuinfo| grep cpu cores| uniq
cpu cores : 6
4.6 检查2881端口 检查2881端口是否被占用确保没有服务占用2881端口。 ss -tunlp |grep 2881检查防火墙是否放行2881端口 [rootdocker ~]# firewall-cmd --list-ports
2881/tcp 如果防火墙未放行2881端口则执行以下放行命令 [rootdocker ~]# firewall-cmd --permanent --add-port2881/tcp
success
[rootdocker ~]# firewall-cmd --reload
success
五、部署OceanBase 4.1社区版
5.1 下载OceanBase 4.1镜像 在dockerhub下载oceanbase/oceanbase-ce:4.1.0.0容器镜像 [rootdocker ~]# docker pull oceanbase/oceanbase-ce:4.1.0.0
4.1.0.0: Pulling from oceanbase/oceanbase-ce
2d473b07cdd5: Pull complete
c21cdfe7a94b: Pull complete
7433dd4c409c: Pull complete
00a0e26f2005: Pull complete
Digest: sha256:18c4055f80ec312fc618ef6356ba0da6379c93c45a01b1b5af46e4667c327135
Status: Downloaded newer image for oceanbase/oceanbase-ce:4.1.0.0
docker.io/oceanbase/oceanbase-ce:4.1.0.0
5.2 创建OceanBase容器 创建容器挂载目录/data/ob. mkdir -p /data/ob/ mkdir -p /data/obd/在本地系统环境创建一个OceanBase容器。 docker run -d -p 2881:2881 -v /data/ob:/root/ob -v /data/obd:/root/.obd --name oceanbase oceanbase/oceanbase-ce:4.1.0.05.3 检查OceanBase容器状态 检查OceanBase容器状态查看容器是否正常启动。 [rootdocker data]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
32d28cd6b407 oceanbase/oceanbase-ce:4.1.0.0 /bin/sh -c _boot 9 minutes ago Up 9 minutes 0.0.0.0:2881-2881/tcp, :::2881-2881/tcp oceanbase
5.4 检查OceanBase容器的运行日志 查看OceanBase容器的运行日志确保OceanBase服务正常运行。 [rootdocker data]# docker logs oceanbase
generate boot.yaml ...
oceanbase-ce docker in mini mode
create boot dirs and deploy ob cluster ...
name: obagent
version: 1.3.0
release:22.el7
arch: x86_64
md5: d57fbb4962b2fbecb6282358c59295fdfba4d6ac
add /root/pkg/obagent-1.3.0-22.el7.x86_64.rpm to local mirror
name: oceanbase-ce
version: 4.1.0.0
release:100000192023032010.el7
arch: x86_64
md5: 8439ecf8db5e0649bd49671b41ea9e8c85756b63
add /root/pkg/oceanbase-ce-4.1.0.0-100000192023032010.el7.x86_64.rpm to local mirror
name: oceanbase-ce-libs
version: 4.1.0.0
release:100000192023032010.el7
arch: x86_64
md5: a83b1dd1cab44d3f610d439931322be7a08555f2
add /root/pkg/oceanbase-ce-libs-4.1.0.0-100000192023032010.el7.x86_64.rpm to local mirror
Trace ID: 5b38756a-e4d6-11ed-a300-0242ac110002
If you want to view detailed obd logs, please run: obd display-trace 5b38756a-e4d6-11ed-a300-0242ac110002
----------------------------------------------------------------------------------------------------------
| local Package List |
------------------------------------------------------------------------------------------------------
| name | version | release | arch | md5 |
------------------------------------------------------------------------------------------------------
| obagent | 1.3.0 | 22.el7 | x86_64 | d57fbb4962b2fbecb6282358c59295fdfba4d6ac |
| oceanbase-ce | 4.1.0.0 | 100000192023032010.el7 | x86_64 | 8439ecf8db5e0649bd49671b41ea9e8c85756b63 |
| oceanbase-ce-libs | 4.1.0.0 | 100000192023032010.el7 | x86_64 | a83b1dd1cab44d3f610d439931322be7a08555f2 |
------------------------------------------------------------------------------------------------------
Trace ID: 5bb1765e-e4d6-11ed-b7d4-0242ac110002
If you want to view detailed obd logs, please run: obd display-trace 5bb1765e-e4d6-11ed-b7d4-0242ac110002
Local deploy is empty
Trace ID: 5c25bab4-e4d6-11ed-8844-0242ac110002
If you want to view detailed obd logs, please run: obd display-trace 5c25bab4-e4d6-11ed-8844-0242ac110002
Dev Mode: ON
Trace ID: 5dd12ede-e4d6-11ed-88c3-0242ac110002
If you want to view detailed obd logs, please run: obd display-trace 5dd12ede-e4d6-11ed-88c3-0242ac110002
Package oceanbase-ce-4.1.0.0-100000192023032010.el7 is available.
Package obagent-1.3.0-22.el7 is available.
install oceanbase-ce-4.1.0.0 for local ok
install obagent-1.3.0 for local ok
Cluster param config check ok
Open ssh connection ok
Generate observer configuration ok
Generate obagent configuration ok
--------------------------------------------------------------------------------------------
| Packages |
-----------------------------------------------------------------------------------------
| Repository | Version | Release | Md5 |
-----------------------------------------------------------------------------------------
| oceanbase-ce | 4.1.0.0 | 100000192023032010.el7 | 8439ecf8db5e0649bd49671b41ea9e8c85756b63 |
| obagent | 1.3.0 | 22.el7 | d57fbb4962b2fbecb6282358c59295fdfba4d6ac |
-----------------------------------------------------------------------------------------
Repository integrity check ok
Parameter check ok
Open ssh connection ok
Cluster status check ok
Initializes observer work home ok
Initializes obagent work home ok
Remote oceanbase-ce-4.1.0.0-100000192023032010.el7-8439ecf8db5e0649bd49671b41ea9e8c85756b63 repository install ok
Remote oceanbase-ce-4.1.0.0-100000192023032010.el7-8439ecf8db5e0649bd49671b41ea9e8c85756b63 repository lib check !!
Remote obagent-1.3.0-22.el7-d57fbb4962b2fbecb6282358c59295fdfba4d6ac repository install ok
Remote obagent-1.3.0-22.el7-d57fbb4962b2fbecb6282358c59295fdfba4d6ac repository lib check ok
Try to get lib-repository
Package oceanbase-ce-libs-4.1.0.0-100000192023032010.el7 is available.
install oceanbase-ce-libs-4.1.0.0 for local ok
Remote oceanbase-ce-libs-4.1.0.0-100000192023032010.el7-a83b1dd1cab44d3f610d439931322be7a08555f2 repository install ok
Remote oceanbase-ce-4.1.0.0-100000192023032010.el7-8439ecf8db5e0649bd49671b41ea9e8c85756b63 repository lib check ok
obcluster deployed
Get local repositories ok
Search plugins ok
Open ssh connection ok
Load cluster param plugin ok
Check before start observer ok
[WARN] OBD-1011: (127.0.0.1) The recommended value of fs.aio-max-nr is 1048576 (Current value: 65536)
[WARN] OBD-1007: (127.0.0.1) The recommended number of open files is 655350 (Current value: 65536)
[WARN] OBD-1012: (127.0.0.1) clog and data use the same disk (/root/ob)Check before start obagent ok
Start observer ok
observer program health check ok
Connect to observer ok
Initialize oceanbase-ce ok
Start obagent ok
obagent program health check ok
Connect to Obagent ok
Wait for observer init ok
---------------------------------------------
| observer |
-----------------------------------------
| ip | version | port | zone | status |
-----------------------------------------
| 127.0.0.1 | 4.1.0.0 | 2881 | zone1 | ACTIVE |
-----------------------------------------
obclient -h127.0.0.1 -P2881 -uroot -Doceanbase -A---------------------------------------------------------------
| obagent |
------------------------------------------------------------
| ip | mgragent_http_port | monagent_http_port | status |
------------------------------------------------------------
| 172.17.0.2 | 8089 | 8088 | active |
------------------------------------------------------------
obcluster running
Trace ID: 5e3444ba-e4d6-11ed-a7b1-0242ac110002
If you want to view detailed obd logs, please run: obd display-trace 5e3444ba-e4d6-11ed-a7b1-0242ac110002
Get local repositories and plugins ok
Open ssh connection ok
Connect to observer ok
Create tenant test ok
Trace ID: d3706e3e-e4d6-11ed-82e4-0242ac110002
If you want to view detailed obd logs, please run: obd display-trace d3706e3e-e4d6-11ed-82e4-0242ac110002
deploy success!
boot success! 直接通过以下命令查看最后的安装结果出现boot success就表示部署成功。 [rootdocker data]# docker logs oceanbase | tail -1
boot success!
六、连接到 OceanBase 实例
6.1 连接sys租户的root 用户 连接sys租户的root 用户 [rootdocker data]# docker exec -it oceanbase ob-mysql sys
login as rootsys
Command is: obclient -h127.1 -urootsys -A -Doceanbase -P2881
Welcome to the OceanBase. Commands end with ; or \g.
Your OceanBase connection id is 3221487689
Server version: OceanBase_CE 4.1.0.0 (r100000192023032010-0265dfc6d00ff4f0ff4ad2710504a18962abaef6) (Built Mar 20 2023 10:12:57)Copyright (c) 2000, 2018, OceanBase and/or its affiliates. All rights reserved.Type help; or \h for help. Type \c to clear the current input statement.obclient [oceanbase]
6.2 连接test租户root用户 连接test租户root用户 [rootdocker data]# docker exec -it oceanbase ob-mysql root
login as roottest
Command is: obclient -h127.1 -uroottest -A -Doceanbase -P2881
Welcome to the OceanBase. Commands end with ; or \g.
Your OceanBase connection id is 3221487695
Server version: OceanBase_CE 4.1.0.0 (r100000192023032010-0265dfc6d00ff4f0ff4ad2710504a18962abaef6) (Built Mar 20 2023 10:12:57)Copyright (c) 2000, 2018, OceanBase and/or its affiliates. All rights reserved.Type help; or \h for help. Type \c to clear the current input statement.obclient [oceanbase]
6.3 连接test租户的test用户 连接test租户的test用户 [rootdocker data]# docker exec -it oceanbase ob-mysql test
login as testtest
Command is: obclient -h127.1 -utesttest -A -Dtest -P2881
Welcome to the OceanBase. Commands end with ; or \g.
Your OceanBase connection id is 3221487706
Server version: OceanBase_CE 4.1.0.0 (r100000192023032010-0265dfc6d00ff4f0ff4ad2710504a18962abaef6) (Built Mar 20 2023 10:12:57)Copyright (c) 2000, 2018, OceanBase and/or its affiliates. All rights reserved.Type help; or \h for help. Type \c to clear the current input statement.obclient [test]
6.4 创建wordpress数据库 在 rootroot用户权限下新建wordpress数据库。 [rootdocker ~]# docker exec -it oceanbase ob-mysql root
login as roottest
Command is: obclient -h127.1 -uroottest -A -Doceanbase -P2881
Welcome to the OceanBase. Commands end with ; or \g.
Your OceanBase connection id is 3221487904
Server version: OceanBase_CE 4.1.0.0 (r100000192023032010-0265dfc6d00ff4f0ff4ad2710504a18962abaef6) (Built Mar 20 2023 10:12:57)Copyright (c) 2000, 2018, OceanBase and/or its affiliates. All rights reserved.Type help; or \h for help. Type \c to clear the current input statement.obclient [oceanbase] show databases;
--------------------
| Database |
--------------------
| information_schema |
| mysql |
| oceanbase |
| test |
--------------------
4 rows in set (0.496 sec)obclient [oceanbase] create database wordpress;
Query OK, 1 row affected (5.961 sec)obclient [oceanbase] show databases;
--------------------
| Database |
--------------------
| information_schema |
| mysql |
| oceanbase |
| test |
| wordpress |
--------------------
5 rows in set (0.604 sec)
6.5 在test租户下创建用户 使用test租户下的root用户连接OceanBase数据库创建admintest用户。 [rootdocker ~]# docker exec -it oceanbase ob-mysql root
login as roottest
Command is: obclient -h127.1 -uroottest -A -Doceanbase -P2881
Welcome to the OceanBase. Commands end with ; or \g.
Your OceanBase connection id is 3221487913
Server version: OceanBase_CE 4.1.0.0 (r100000192023032010-0265dfc6d00ff4f0ff4ad2710504a18962abaef6) (Built Mar 20 2023 10:12:57)Copyright (c) 2000, 2018, OceanBase and/or its affiliates. All rights reserved.Type help; or \h for help. Type \c to clear the current input statement.obclient [oceanbase] create user admin identified by admin123;
Query OK, 0 rows affected (1.590 sec)obclient [oceanbase] GRANT ALL ON wordpress.* TO admin with GRANT OPTION;
Query OK, 0 rows affected (0.764 sec)
6.6 连接test租户下admin用户 进入OceanBase容器内 [rootdocker ~]# docker exec -it oceanbase /bin/bash
[root32d28cd6b407 ~]# 测试连接test租户下admin用户 [root32d28cd6b407 ~]# obclient -h127.1 -uadmintest -A -Dwordpress -P2881 -padmin123
Welcome to the OceanBase. Commands end with ; or \g.
Your OceanBase connection id is 3221487933
Server version: OceanBase_CE 4.1.0.0 (r100000192023032010-0265dfc6d00ff4f0ff4ad2710504a18962abaef6) (Built Mar 20 2023 10:12:57)Copyright (c) 2000, 2018, OceanBase and/or its affiliates. All rights reserved.Type help; or \h for help. Type \c to clear the current input statement.obclient [wordpress]
6.7 使用mysql客户端连接 在局域网内一台mysql客户端连接test租户下admin用户 [rootserver ~]# mysql -h 192.168.3.127 -P 2881 -u admintest -padmin123 -D wordpress -Ac --prompt OceanBase(\u\d)
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3221487997
Server version: 5.7.25 OceanBase_CE 4.1.0.0 (r100000192023032010-0265dfc6d00ff4f0ff4ad2710504a18962abaef6) (Built Mar 20 2023 10:12:57)Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type help; or \h for help. Type \c to clear the current input statement.OceanBase(adminwordpress)
七、在OceanBase数据库创建数据表
7.1 使用mysql客户端连接OceanBase 使用mysql客户端远程连接OceanBase数据库 [rootserver ~]# mysql -h 192.168.3.127 -P 2881 -u admintest -padmin123 -Ac --prompt OceanBase(\u\d)
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3221488894
Server version: 5.7.25 OceanBase_CE 4.1.0.0 (r100000192023032010-0265dfc6d00ff4f0ff4ad2710504a18962abaef6) (Built Mar 20 2023 10:12:57)Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type help; or \h for help. Type \c to clear the current input statement.OceanBase(admin(none)) show databases;
--------------------
| Database |
--------------------
| information_schema |
| mysql |
| oceanbase |
| test |
| wordpress |
| wordpress_db |
--------------------
6 rows in set (0.37 sec)OceanBase(admin(none))
7.2 创建数据库 在OceanBase内创建一个数据库school OceanBase(admin(none)) create database school;
Query OK, 1 row affected (0.44 sec)OceanBase(admin(none)) show databases;
--------------------
| Database |
--------------------
| information_schema |
| mysql |
| oceanbase |
| school |
| test |
| wordpress |
| wordpress_db |
--------------------
7 rows in set (0.35 sec)OceanBase(admin(none))
7.3 进入数据库内 进入新创建的school数据库内 OceanBase(admin(none)) use school;
Database changed
OceanBase(adminschool) show tables;
Empty set (0.00 sec)OceanBase(adminschool)
7.4 新建数据表 创建一个空数据表 CREATE TABLE IF NOT EXISTS student(id INT UNSIGNED AUTO_INCREMENT,name VARCHAR(100) NOT NULL,gender TINYINT NOT NULL,age INT UNSIGNED,class INT UNSIGNED,score INT UNSIGNED,PRIMARY KEY ( id ))ENGINEInnoDB DEFAULT CHARSETutf8; 7.5 写入数据 向数据表student写入数据。 OceanBase(adminschool) insert into student ( name, gender, age, class, score ) values ( 李萌萌, 0, 17, 3, 98 );
Query OK, 1 row affected (1.30 sec)OceanBase(adminschool) insert into student ( name, gender, age, class, score ) values ( 王依依, 0, 14, 2, 68 );
Query OK, 1 row affected (0.57 sec)OceanBase(adminschool) insert into student ( name, gender, age, class, score ) values ( 张强, 1, 17, 3, 78 );
Query OK, 1 row affected (0.21 sec)
7.6 查看数据表内容 查看数据表内容 OceanBase(adminschool) select * from student;
-------------------------------------------
| id | name | gender | age | class | score |
-------------------------------------------
| 1 | 李萌萌 | 0 | 17 | 3 | 98 |
| 2 | 王依依 | 0 | 14 | 2 | 68 |
| 3 | 张强 | 1 | 17 | 3 | 78 |
-------------------------------------------
3 rows in set (0.01 sec)
八、使用DBeaver连接OceanBase 4.1社区版
8.1 打开DBeaver软件 打开本地DBeaver软件 8.2 选择连接数据库类型 选择连接的数据库为OceanBase 8.3 填写数据库连接信息 数据库连接信息如下 host: 192.168.3.127 port 2881 database: school Tenant: test 用户名admin 密码admin123 8.4 测试连接及下载相关驱动 点击测试连接选项自动下载驱动程序测试连接正常。 8.5 查看数据表内容 查看OceanBase中student数据表内容。