社区版对硬件要求不高,个人笔记本内存16G的就可以搭建。搭建一个进行学习是非常不错的选择,此文档记录了我在搭建过程中的一些关注点。
下载所需软件
社区版下载地址:https://www.oceanbase.com/softwareCenter/community
下载这四个rpm包即可。
环境准备
详细请参考:https://open.oceanbase.com/docs/tutorials/quickstart/V1.0.0/2-4-how-to-initialize-the-server-environment
我在配置的过程中有几个需要关注的地方以及做了一些调整,特此标注一下
2. 1 使用NTPD同步机制,没有使用官方建议的chrony。
2. 2 在配置ssh互通的时候需要,需要检查是否已经安装openssh_client和openssh_server两个rpm包,并且在admin用户 添加到 /etc/ssh/sshd_config文件里面的AllowUsers项后面
安装 OBD 软件
详细请参考:https://open.oceanbase.com/docs/tutorials/quickstart/V1.0.0/2-5-how-to-install-obd-automated-deployment-software
rpm -ivh ob-deploy-1.1.0-1.el8.x86_64.rpm
注:千万不要忘了执行最后的提示: source /etc/profile.d/obd.sh
使用 OBD 安装单节点OB cluster
详细请参考:https://open.oceanbase.com/docs/tutorials/quickstart/V1.0.0/2-6-how-to-automatically-deploy-a-single-node-cluster-using-obd
本次我没有部署obproxy,打算按照社区版教程一步一步来。
我下载的是:mini-single-example.yaml这个文件
里面主要修改 ip、网卡名称,并且提前创建好对应的路径,官方建议使用不同的磁盘划分/data和/redo,我嫌麻烦,就没有用多快盘。如下图:
如果磁盘空间不够,创建集群的时候会报错,需要修改datafile_size:
部署集群
obd cluster deploy obce-single -c obce-single.yaml
启动集群
obd cluster start obce-single
使用OceanBase
语法请参考:https://open.oceanbase.com/docs/tutorials/quickstart/V1.0.0/3-2-how-to-create-and-connect-a-mysql-tenant
1、 创建资源单元 resource unit
2、 创建资源池resource pool
3、 创建租户
此处有几点注意的地方,1、创建完租户以后,默认的租户密码是空,2、创建租户的时候需要修改租户白名单,否则只能本地连接,
create tenant obmysql resource_pool_list=('pool_1','pool_2'), primary_zone='RANDOM',comment 'mysql tenant/instance', charset='utf8' set ob_tcp_invited_nodes='%' ; 如果创建租户的时候没有修改,也可以登录sys租户执行以下命令对变量进行修改 Alter tenant tenant_name set variables ob_tcp_invited_nodes='%';
4、 连接租户
由于我没有使用obproxy连接,而是直接通过2881连接的,不需要指定集群名字。
mysql -hxxx.xxx.xxx.xxx -uroot@sys -P2881 -p -c -A oceanbase
5、 mysqldump导出mysql数据
导出的时候需要注意增加:--compact参数(减少注释量,使sql文件更紧凑) ,并且要增加 --set-gtid-purged=OFF(去掉sql文件里的gtid_purged)