Python连接MySQL数据库是开发中常见的需求,通过合适的驱动库可以快速建立两者的通信通道,实现数据的增删改查操作。下面详细介绍完整的连接步骤。

一、环境准备
首先需要确保本地已经安装好Python环境和MySQL数据库服务,MySQL服务需要处于正常运行状态,同时记住MySQL的登录用户名、密码、要连接的数据库名称以及数据库服务的端口号,默认端口是3306。
二、安装连接驱动
Python本身没有内置连接MySQL的模块,需要安装第三方驱动库,常用的有pymysql,安装命令如下:
pip install pymysql
三、编写连接代码
安装完驱动后就可以编写连接代码,核心是通过驱动库提供的接口传入正确的连接参数,建立连接对象。以下是基础的连接示例代码:
import pymysql
# 定义连接参数
host = "127.0.0.1" # 数据库服务地址,本地用127.0.0.1
port = 3306 # 端口号,默认3306
user = "root" # 数据库登录用户名
password = "123456" # 数据库登录密码
database = "test_db" # 要连接的数据库名称
charset = "utf8mb4" # 字符集,避免中文乱码
# 建立连接
try:
conn = pymysql.connect(
host=host,
port=port,
user=user,
password=password,
database=database,
charset=charset
)
print("数据库连接成功")
except Exception as e:
print(f"数据库连接失败,错误信息:{e}")
四、验证连接可用性
连接建立后可以通过执行简单的查询语句验证连接是否正常,示例代码如下:
# 获取游标对象
cursor = conn.cursor()
# 执行查询语句,查询MySQL版本
cursor.execute("SELECT VERSION()")
# 获取查询结果
result = cursor.fetchone()
print(f"MySQL版本:{result[0]}")
# 关闭游标和连接
cursor.close()
conn.close()
五、常见问题说明
- 连接失败提示Access denied for user:检查用户名和密码是否正确,以及该用户是否有对应数据库的连接权限
- 提示Unknown database:检查要连接的数据库名称是否存在,需要先手动创建对应的数据库
- 中文乱码问题:连接时指定charset为utf8mb4,同时保证数据库表的字符集也是utf8mb4
按照以上步骤操作,就可以顺利完成Python和MySQL数据库的连接,后续可以基于连接对象实现更多数据操作逻辑。