oceanbase部署维护命令学习
背景
之前学习过TIDB数据库, 最近又准备学习一下Oceanbase数据库
发现其实两者还是比较相似的.
比较大的区别在于.
TiDB是完全开源的, 并且比较明确的说明了他们是基于TiKV的key values数据库.
然后又TiDB和TiFlash两种查询殷勤的.
Oceanbase数据库的社区版本是开源的, 但是仅支持MySQL模式.
商业版支持Oracle模式.
OB的底层存储机制暂时还没看到. 后续会继续总结.
Tidb使用tiup 脚本进行维护
oceanbase使用 odb脚本进行维护.
感觉大家的思路都是比较相仿的.
obd的帮助
cluster Deploy and manage a cluster.
demo Quickly start
display-trace display trace_id log.
mirror Manage a component repository for OBD.
obdiag Oceanbase Diagnostic Tool
repo Manage local repository for OBD.
test Run test for a running deployment.
update Update OBD.
web Start obd deploy application as web.
常用说明
常用的命令其实是 cluster,mirror这两个.
obd mirror clone /oceanbase3.1.3/*.rpm
可以本地重建一个仓库
我就是通过这个方式来进行特定版本的离线安装的.
当然他的默认存储位置是
/root/.obd/mirror
.
├── local
└── remote
但是需要说明的是 跟你使用的用户是相关的.
Cluster的部分帮助
[root@rocky87 oceanbase]# obd cluster --help
Usage: obd cluster <command> [options]
Available commands:
autodeploy Deploy a cluster automatically by using a simple configuration file.
check4ocp Check Whether OCP Can Take Over Configurations in Use
chst Change Deployment Configuration Style
deploy Deploy a cluster by using the current deploy configuration or a deploy yaml file.
destroy Destroy a deployed cluster.
display Display the information for a cluster.
edit-config Edit the configuration file for a specific deployment.
export-to-ocp Export obcluster to OCP
list List all the deployments.
redeploy Redeploy a started cluster.
reinstall Reinstall a deployed component
reload Reload a started cluster.
restart Restart a started cluster.
start Start a deployed cluster.
stop Stop a started cluster.
tenant Create, drop or list a tenant.
upgrade Upgrade a cluster.
cluster命令说明
cluster命令应该是属于oceanbase最重要的几个命令.
这里面deploy 部署 需要 -f 指定配置文件.
destroy 可以摧毁集群, 可以通过 -f 进行强行删除.
display 可以查看具体的集群, 他设置可以把密码给展示出来.
edit-config 应该是可以在线修改配置, 增加内存以及其他资源设置
list 展示可能存在的集群.
reload 重载集群, 修改了配置之后可以重载, 也可以重启集群.
restart 可以启动集群,也可以重启集群
tenant 对租户进行设置.
租户信息查看于设置
注意 建议使用 obclient客户端进行连接数据
yum install obclient -y 安装客户端:
注意 本次只是按照 3.1.3的版本进行学习与查看
SELECT * FROM oceanbase.gv$tenant;
或者可以使用这个命令进行展示:
SHOW TENANT;
部分命令:
obclient> CREATE TENANT IF NOT EXISTS test_tenant charset='utf8mb4',
replica_num=3, zone_list=('zone1','zone2','zone3'),
primary_zone='zone1;zone2,zone3', resource_pool_list=('pool1')
Oracle租住的创建
obclient> CREATE TENANT IF NOT EXISTS test_tenant charset='utf8mb4',
replica_num=3, zone_list=('zone1','zone2','zone3'), primary_zone='zone1;zone2,zone3',
resource_pool_list=('pool1') SET ob_compatibility_mode='oracle'
其他设置:
obclient> CREATE TENANT IF NOT EXISTS test_tenant charset='utf8mb4',
replica_num=3, zone_list=('zone1','zone2','zone3'), primary_zone='zone1;zone2,zone3',
resource_pool_list=('pool1') SET ob_tcp_invited_nodes='%'
注意事项
注意开源版会提示:
ERROR 1235 (0A000): Oracle mode not supported
开源版本仅仅兼容 MySQL的模式.
关于MySQL兼容性的问题
From
https://www.oceanbase.com/news/accelerated-embrace-and-support-of-open-source-ecosystem-oceanbase-open-source
阿里旗下的蚂蚁金服于2021年6月份正式发布了开源版.
2021.10.18 蚂蚁金服正式发布了 3.1.1 的开源版OceanBase数据库
3.1.3 版本也就是开源社区版本的较新发布了.
因为一开始以为仅支持MySQL5.7的能力, 在这个文档中也进行了一定程度的解惑:
一、全面加强MySQL兼容
1、适配支持 MySQL 5.7 驱动协议,支持 5.7 新增的会话变量,
可以推高 OceanBase 的 MySQL 兼容版本,避免企业内部安全审计问题。
2、新增 MySQL 8.0 的通用表表达式(Common Table Expressions),
丰富了 SQL 的能力,满足复杂业务查询需求实现。
3、支持租户/用户最大连接数设置。系统变量 MAX_CONNECTIONS 设置租户最大连接数。
系统变量 MAX_USER_CONNECTIONS 设置用户最大并发连接数。
创建用户时,可以通过参数 MAX_USER_CONNECTIONS 指定用户的最大并发连接数。
参数 MAX_CONNECTIONS_PER_HOUR 指定用户的每小时最大连接数。
4、新增支持10个函数,完善数据校验、时区转换查询及网络能力。
具体支持系统函数 CRC32()、系统函数 CONVERT_TZ()
网络地址相关函数 INET_ATON()、INET_NTOA()、INET6_ATON()、INET6_NTOA()、
IS_IPV4()、IS_IPV6()、IS_IPV4_MAPPED() 和 IS_IPV6_MAPPED()。