如何连接oceanbase数据库

如何连接oceanbase数据库

点击有惊喜


oceanbase是完全兼容MySQL协议的,之前的文章中也提起到过,所以oceanbase的连接方式也是跟MySQL一样的,需要安装MySQL客户端,采用ip+端口+用户@tenant+密码的方式链接。

mysql -h -uxxxx@tenant -pxxxx -P8306

-h ob集群所在VIP

-u@tenant 用户以及租户名字

-p 密码

-P 端口


之前遇到个用户无法连接到ob数据库问题,报错如下:

[ftpuser@fuggr~]mysql -h -uxxxx -pxxxx -p8306warning: using a password on the command line interface can be insecure.ERROR 2003:can't connect to mysql server on 'IP'

哪种数据库都可能出现连接不到数据库的情况,可能是集群挂了,可能是网络有问题,我们看一下这是啥问题。

首先oceanbase是采用集群,如下图,总共有三个副本,也就是三个zone。zone内由不同的server组成,而连接这些server对外提供服务的是通过外面的proxy。


而这有可能是obproxy的启动方式问题,proxy不是通过configg server url启动的, 直接使用rs list启动的,所以用户登录时, 要么不指定集群名登录(proxy使用默认的obcloud), 或者使用obcloud集群登录。

1. client通过proxy访问ob时, 如果proxy后端只有一个集群, 可以用户为username@tenantname, 如果是多个集群, 需要指定集群名;

2. 假定用户传入的集群名为A, 那么Proxy首先从config server url的json内容中查找是否有该集群, 如果有则登录该集群observer

3. proxy在集群名校验开关打开的情况下(默认开), 访问observer时校验用户传入的集群名和ob的集群名是否一致, 不一致报错。


ob连接数据库其实需要输入的信息较MySQL来说只是多了一个tenant,,因为在ob里面资源划分是按照租户为粒度来划分的,每个租户资源是隔离的,也就是说这块资源当初划分给了一个租户,那么这个租户就会独占这部分资源,即使别的租户这时候cpu用满了,也不可以使用到另外一个租户的资源。


既然拥有MySQL一样的命令行连接方式,那么大部分的MySQL客户端工具也是可以连接oceanbase的。比如navicate等等的。

希望大家都可以弄个云端的ob搞一搞玩一玩。


点击有惊喜

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部