首批通过分布式安全可靠测评,为关键业务系统打造
MySQL-connector-python 连接 OceanBase 数据库示例程序
更新时间:2026-04-07 20:57:19
本文介绍如何通过 Python 驱动连接和使用 OceanBase 数据库。使用的驱动为MySQL-connector-python
前提条件
- 您已安装 Python2.7/Python 3.x 和 pip。
- 您已安装 OceanBase 数据库并且创建了 MySQL 模式租户。
操作步骤
- 获取 OceanBase 数据库连接串。
- 安装 MySQL-connector-python 驱动。
- 编写
test.py文件,填入数据库连接信息。 - 运行
test.py文件。
步骤一:获取 OceanBase 数据库连接串
联系 OceanBase 数据库部署人员或者管理员获取相应的数据库连接串。
obclient -h$host -P$port -u$user_name -p$password -D$database_name
参数说明:
$host:提供 OceanBase 数据库连接 IP。OceanBase 数据库代理(OceanBase Database Proxy,ODP)连接方式使用的是一个 ODP 地址;直连方式使用的是 OBServer 节点的 IP 地址。$port:提供 OceanBase 数据库连接端口。ODP 连接的方式默认是2883,在部署 ODP 时可自定义;直连方式默认是2881,在部署 OceanBase 数据库时可自定义。$database_name:需要访问的数据库名称。注意
连接租户的用户需要拥有该数据库的
CREATE、INSERT、UPDATE和SELECT权限。更多有关用户权限的信息,请参见 MySQL 模式下的权限分类。$user_name:提供租户的连接账户。ODP 连接的常用格式:用户名@租户名#集群名或者集群名:租户名:用户名;直连方式格式:用户名@租户名。$password:提供账户密码。
更多连接串的信息,请参见 通过 OBClient 连接 OceanBase 租户。
示例如下:
obclient -hxxx.xxx.xxx.xxx -P2881 -utest_user001@mysql001 -p****** -Dtest
步骤二:安装 MySQL-connector-python 驱动
MySQL Connector/Python 是 MySQL 官方提供的一个用于连接 MySQL 数据库的官方驱动程序。它是使用 Python 编程语言编写的,用于在 Python 中连接和操作 MySQL 数据库。MySQL Connector/Python 支持 Python 2.7 和 Python 3.x 版本。
打开命令提示符或 PowerShell 终端,运行以下命令,安装 MySQL-connector-python 驱动。
pip3 install mysql-connector-python
安装完成后,可以通过以下命令验证安装是否成功:
pip3 list | grep mysql-connector-python
步骤三:编写应用程序
步骤三:编写 test.py 文件,填入数据库连接信息
根据 步骤一:获取 OceanBase 数据库连接串 中的信息编写 test.py 文件,填入数据库连接信息。
创建一个名为
test.py的文件。在
test.py文件中填入以下内容,并根据实际情况修改数据库连接信息。test.py文件内容示例如下:import mysql.connector # 数据库连接信息 config = { 'host': 'xxx.xxx.xxx.xxx', 'port': 2881, 'user': 'test_user001@mysql001', 'password': '******', 'database': 'test' } # 创建数据库连接 conn = mysql.connector.connect(**config) cursor = conn.cursor() # 创建数据库 cursor.execute("CREATE DATABASE IF NOT EXISTS test") # 使用数据库 cursor.execute("USE test") # 创建表 cursor.execute(""" CREATE TABLE IF NOT EXISTS test_table ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, age INT ) """) # 插入数据 cursor.execute(""" INSERT INTO test_table (name, age) VALUES ('John', 20), ('Lucy', 25), ('Tom', 30) """) # 更新数据 cursor.execute(""" UPDATE test_table SET age = 26 WHERE name = 'Lucy' """) # 查询数据 cursor.execute("SELECT * FROM test_table") rows = cursor.fetchall() for row in rows: print(row) # 关闭连接 cursor.close() conn.close()
步骤四:运行 test.py 文件
打开命令提示符或 PowerShell 终端,运行 test.py 文件,查询数据并输出结果。
进入到
test.py文件所在的目录。示例如下:
cd D:\demo\demo运行
test.py文件。示例如下:
python test.py返回结果如下:
(1, 'John', 20) (2, 'Lucy', 26) (3, 'Tom', 30)
错误处理
在使用 MySQL-connector-python 连接 OceanBase 数据库时,可能会遇到各种错误。以下是一些常见的错误及其处理方法:
连接错误:如果无法连接到数据库,请检查连接参数是否正确,包括主机名、端口、用户名、密码和数据库名。
权限错误:如果遇到权限相关的错误,请确保用户拥有足够的权限来执行所需的操作。
SQL 语法错误:如果 SQL 语句有语法错误,请检查 SQL 语句的语法是否正确。
数据类型错误:如果插入的数据类型与表定义不匹配,请确保插入的数据类型正确。
在代码中,我们可以使用 try-except 语句来捕获和处理这些错误,确保程序在遇到错误时能够优雅地处理,而不是直接崩溃。同时,我们可以使用 logging 模块记录错误信息,方便调试和问题排查。
相关文档
更多连接 OceanBase 数据库的信息,请参见 连接方式概述。
更多创建数据库的信息,请参见 CREATE DATABASE。