首批通过分布式安全可靠测评,为关键业务系统打造
MySQL-connector-python 连接 OceanBase 数据库示例程序
更新时间:2026-04-10 11:58:35
本文介绍如何通过 Python 驱动连接和使用 OceanBase 数据库。使用的驱动为MySQL-connector-python
前提条件
- 您已安装 Python2.7/Python 3.x 和 pip。
- 您已安装 OceanBase 数据库并且创建了 MySQL 模式租户。
操作步骤
主要操作步骤
本次示例主要包含以下主要操作步骤:
- 获取 OceanBase 数据库连接串。
- 安装 MySQL-connector-python 驱动。
- 编写
test.py文件中的数据库连接信息。 - 运行
test.py文件。
步骤一:获取数据库连接串
联系 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、DROP和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 版本。
有关 MySQL-connector-python 的详细信息,请参考mysql官网介绍
安装代码如下所示(以 Python3 示例):
pip3 install mysql-connector-python
查看是否安装成功以及详细信息:
pip3 show mysql-connector-python
步骤三:编写应用程序
打开你的文本编辑器,在文本编辑器中编辑示例 test.py 文件并保存,代码如下所示:
import mysql.connector
# 创建连接
cnx = mysql.connector.connect(
host="xxxx",
port=xxxx,
user="xxx",
password="",
charset=""utf8mb4"
)
# 创建数据库
def create_database(cursor):
cursor.execute("CREATE DATABASE IF NOT EXISTS testdb")
cursor.execute("USE testdb")
# 创建表
def create_table(cursor):
cursor.execute("CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), email VARCHAR(255))")
# 插入数据
def insert_data(cursor):
sql = "INSERT INTO users (name, email) VALUES (%s, %s)"
val = ("111", "111@example.com")
cursor.execute(sql, val)
cnx.commit()
print("Data inserted, ID:", cursor.lastrowid)
# 修改数据
def update_data(cursor):
sql = "UPDATE users SET email = %s WHERE name = %s"
val = ("222@example.com", "111")
cursor.execute(sql, val)
cnx.commit()
print(cursor.rowcount, "record(s) affected")
# 查询数据
def select_data(cursor):
cursor.execute("SELECT * FROM users")
result = cursor.fetchall()
for row in result:
print(row)
# 获取游标对象
cursor = cnx.cursor()
# 创建数据库并使用
create_database(cursor)
create_table(cursor)
# 插入数据
insert_data(cursor)
# 修改数据
update_data(cursor)
# 查询数据
select_data(cursor)
# 关闭游标和连接
cursor.close()
cnx.close()
根据 步骤一:获取 OceanBase 数据库连接信息 中的信息修改项目文件 test.py 中的数据库连接信息。
- 在 Windows 环境下,使用文本编辑器打开
test.py文件,修改文件中的数据库连接信息,确保与实际情况相符。 - 在 Linux 环境下,可以使用
vi test.py或者vim test.py命令编辑test.py文件,修改文件中的数据库连接信息,确保与实际情况相符。
test.py 文件中的数据库连接信息示例如下:
# 这部分连接信息需要修改为你所获取到连接串在的真实信息
cnx = mysql.connector.connect(
host="10.10.10.1",
port=2881,
user="test_user001@mysql001",
password="test",
charset="utf8"
)
步骤四:运行应用程序
打开命令提示符或 PowerShell 终端,运行 test.py 文件,查询数据并输出结果。
进入到
test.py所在目录下。示例如下:
cd D:\demo\demo运行
test.py文件。python3 test.py返回结果如下:
Data inserted, ID: 1 1 record(s) affected # 查询结果 (1, '111', '222@example.com')
相关文档
更多连接 OceanBase 数据库的信息,请参见 连接方式概述。
更多创建数据库的信息,请参见 CREATE DATABASE。