实战教程第三章3.3:如何连接租户

2024年 5月 7日 39.5k 0

OceanBase 开源版的租户只兼容 MySQL ,连接协议兼容 MySQL 5.6 。因此 MySQL 命令行客户端或者图形化工具理论上也是能连接 OceanBase 的租户。此外,OceanBase 也提供专属的命令行客户端工具 OBCLIENT 和图形化客户端工具 ODC 。

MYSQL 客户端连接

OceanBase MySQL 租户支持传统 MySQL 客户端连接,连接方式基本不变,跟传统 MySQL 不一样的地方是用户名的格式。

示例:

mysql -h172.20.249.50 -uroot@sys#obdemo -P2883 -p4S9wDbSr -c -A oceanbase

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.6.25 OceanBase 3.1.0 (r3-b20901e8c84d3ea774beeaca963c67d7802e4b4e) (Built Aug 10 2021 08:10:38)

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [oceanbase]> show databases;
+--------------------+
| Database           |
+--------------------+
| oceanbase          |
| information_schema |
| mysql              |
| SYS                |
| LBACSYS            |
| ORAAUDITOR         |
| test               |
+--------------------+
7 rows in set (0.008 sec)

备注:

  • -h:提供 OceanBase 数据库连接 IP,通常是一个 OBProxy 地址。
  • -u:提供租户的连接账户,格式有两种:用户名@租户名#集群名 或者 集群名:租户名:用户名 。MySQL 租户的管理员用户名默认是 root 。
  • -P:提供 OceanBase 数据库连接端口,也是 OBProxy 的监听端口,默认是2883,可以自定义。
  • -p:提供账户密码,为了安全可以不提供,改为在后面提示符下输入,密码文本不可见。
  • -c:表示在 MySQL 运行环境中不要忽略注释。
  • -A:表示在 MySQL 连接数据库时不自动获取统计信息。
  • oceanbase:访问的数据库名,可以改为业务数据库。

新创建的业务租户的管理员(root)密码默认是空的。需要改密码。

$ strings /dev/urandom |tr -dc A-Za-z0-9 | head -c8; echo
bJVqqEVt

 mysql -h172.20.249.50 -uroot@obmysql#obdemo -P2883 -p -c -A oceanbase
 MySQL [oceanbase]> alter user root identified by 'bJVqqEVt' ;
Query OK, 0 rows affected (0.118 sec)

如果没有安装 MySQL 客户端,可以安装 mariadb-server 。MySQL 官方 8.0 的客户端连接协议在密码处调整了逻辑,导致无法通过早期的 OBPROXY 连接到 OceanBase 的MySQL 租户。会报密码错误。可以通过加选项 --default-auth=mysql_native_password 解决这个问题。

# 安装 mariadb
sudo yum -y install mariadb-server.x86_64

# 或者
# 安装官方 mysql 客户端
sudo yum -y install mysql.x86_64

mysql -h172.20.249.50 -uroot@obmysql#obdemo -P2883 -pbJVqqEVt -c -A --default-auth=mysql_native_password  oceanbase

注:OBPROXY 2.0 版本修复了这个问题。

OBCLIENT 客户端连接

OceanBase 还提供专用的命令行客户端工具,名字:obclient 。使用方法跟 mysql 命令一样。

示例:

obclient -h172.20.249.50 -uroot@obmysql#obdemo -P2883 -pbJVqqEVt -c -A oceanbase

输出:
Welcome to the OceanBase.  Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.6.25 OceanBase 3.1.0 (r3-b20901e8c84d3ea774beeaca963c67d7802e4b4e) (Built Aug 10 2021 08:10:38)

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [oceanbase]> show databases;
+--------------------+
| Database           |
+--------------------+
| oceanbase          |
| information_schema |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.004 sec)

OceanBase 连接驱动(JDBC

OceanBase 支持的应用目前主要是 Java 和 C/C++ 。

  • Java 语言 MySQL 官方 JDBC 驱动下载地址:MySQL Connector/J 5.1.46 。 OceanBase 官方 JDBC 驱动下载地址:OceanBase-Client 。
  • C 语言 具体驱动说明请参考官网文档:OceanBase Connector/C 简介 下载地址:OceanBase Connector/C 下载

DBEAVER 客户端连接

DBeaver 是一款通用的数据库客户端工具,其原理是使用各个数据库提供的 JDBC 驱动连接数据库,支持常见的关系型数据库、非关系型数据库、分布式数据库等等。使用 OceanBase 提供的 JDBC 驱动 或者 MySQL 官方驱动 ,DBeaver 也可以连接 OceanBase 的MySQL 租户。

官方下载地址:https://dbeaver.io/download/ 。

DBeaver 连接 OceanBase 的时候选择“MySQL”数据库类型。第一次使用会自动下载官方 MySQL 驱动。 连接配置页面如下,跟 MySQL 不一样的地方就是连接端口默认是 2883 以及 用户名格式是:用户名@租户名#集群名 或 集群名:租户名:用户名 。

ODC 客户端连接

OceanBase 提供官方图形化客户端工具 OceanBase Developer Center,简称 ODC。这个产品在官方网站上有介绍:什么是 OceanBase 开发者中心 。

ODC 下载地址在阿里云上:下载客户端版 ODC 。

实战教程第三章3.3:如何连接租户-1

实战教程第三章3.3:如何连接租户-2

保存连接后,打开连接,即进入工作界面。

实战教程第三章3.3:如何连接租户-3

目前 ODC 是对 OceanBase 适配性最好的客户端工具。

附录:

  • 3.1 查看 OceanBase 集群资源的使用情况
  • 3.2 如何创建和连接 MySQL 租户
  • 3.3 如何连接租户
  • 3.4 如何对租户参数(或变量)进行设置
  • 3.5 如何使用 MySQL 租户做常见数据库开发
  • 3.6 如何使用 OceanBase 分区表进行水平拆分
  • 3.7 (高级)如何使用 OceanBase 表分组
  • 3.8(高级)如何使用 OceanBase 复制表
  • 3.9 常见问题

结束语

加入教程直播群方式一:钉钉群号3255 4020

加入教程直播群方式二:扫码下方二维码加入

实战教程第三章3.3:如何连接租户-4

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论