---
title: "MySQL-connector-python 连接 OceanBase 数据库示例程序 - OceanBase 数据库 V4.3.0 | OceanBase 文档中心"
description: MySQL-connector-python 连接 OceanBase 数据库示例程序 本文介绍如何通过 Python 驱动连接和使用 OceanBase 数据库。使用的驱动为MySQL-connector-python 前提条件 您已安装 Python2.7/Python 3.x 和 pip。 您已安装 Ocean…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.0

# MySQL-connector-python 连接 OceanBase 数据库示例程序

更新时间：2026-04-10 11:58:35

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.0/zh-CN/300.develop/100.application-development-of-mysql-mode/200.sample-program-of-mysql-mode/200.python-of-mysql-mode/300.mysql-connector-py-connection-to-oceanbase-database-sample-program.md)  

本文介绍如何通过 Python 驱动连接和使用 OceanBase 数据库。使用的驱动为MySQL-connector-python

## 前提条件

- 您已安装 Python2.7/Python 3.x 和 pip。
 - 您已安装 OceanBase 数据库并且创建了 MySQL 模式租户。

## 操作步骤

**主要操作步骤**

本次示例主要包含以下主要操作步骤：

1. 获取 OceanBase 数据库连接串。
 2. 安装 MySQL-connector-python 驱动。
 3. 编写 `test.py` 文件中的数据库连接信息。
 4. 运行 `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 模式下的权限分类](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000642580)。
 - `$user_name`：提供租户的连接账户。ODP 连接的常用格式：`用户名@租户名#集群名` 或者 `集群名:租户名:用户名`；直连方式格式：`用户名@租户名`。
 - `$password`：提供账户密码。

更多连接串的信息，请参见 [通过 OBClient 连接 OceanBase 租户](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000640068)。

**示例如下：**

```shell
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官网介绍](https://dev.mysql.com/doc/connector-python/en/connector-python-introduction.html)

安装代码如下所示（以 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` 文件中的数据库连接信息示例如下：**

```python
# 这部分连接信息需要修改为你所获取到连接串在的真实信息
cnx = mysql.connector.connect(
    host="10.10.10.1",  
    port=2881,
    user="test_user001@mysql001",
    password="test",
    charset="utf8"
)

```

### 步骤四：运行应用程序

打开命令提示符或 PowerShell 终端，运行 `test.py` 文件，查询数据并输出结果。

1. 进入到 `test.py` 所在目录下。

   **示例如下：**

   ```shell
   cd D:\demo\demo

   ```
 2. 运行 `test.py` 文件。

   ```shell
   python3 test.py

   ```

   返回结果如下：

   ```shell
   Data inserted, ID: 1
   1 record(s) affected
   #  查询结果
   (1, '111', '222@example.com')

   ```

## 相关文档

- 更多连接 OceanBase 数据库的信息，请参见 [连接方式概述](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000640069)。
 - 更多创建数据库的信息，请参见 [CREATE DATABASE](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000643146)。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
