RDS for MySQL 入门:创建实例并用 Python 连接读写数据

举报
yd_285284254 发表于 2026/10/30 09:33:35 2026/10/30
【摘要】 RDS for MySQL 入门本文介绍在华为云创建 RDS for MySQL 实例并用 Python 连接的流程。 1. 创建实例前的准备RDS 实例要与 ECS 放在同一区域、同一 VPC,用内网地址访问,延迟最低且无需开放公网。学习阶段选择按需计费的最小通用规格,数据库版本选 MySQL 8.0,字符集使用 utf8mb4。 2. 创建实例控制台进入“云数据库 RDS”,点击“购买...

RDS for MySQL 入门

本文介绍在华为云创建 RDS for MySQL 实例并用 Python 连接的流程。

1. 创建实例前的准备

RDS 实例要与 ECS 放在同一区域、同一 VPC,用内网地址访问,延迟最低且无需开放公网。学习阶段选择按需计费的最小通用规格,数据库版本选 MySQL 8.0,字符集使用 utf8mb4。

2. 创建实例

控制台进入“云数据库 RDS”,点击“购买数据库实例”,引擎选 MySQL 8.0,测试可选单机,生产请选主备。网络选择与 ECS 相同的 VPC 和子网。安全组入方向放通 TCP 3306,来源只填 ECS 所在内网网段,不要填 0.0.0.0/0。root 密码需包含大小写字母、数字和特殊字符。创建完成后在“基本信息”可看到内网地址,形如 192.168.x.x:3306。

3. 创建业务库和普通账号

业务代码不要直接使用 root。用 root 登录后执行:

CREATE DATABASE IF NOT EXISTS demo_db DEFAULT CHARACTER SET utf8mb4;
CREATE USER 'demo_user'@'%' IDENTIFIED BY '请替换为强密码';
GRANT SELECT, INSERT, UPDATE, DELETE ON demo_db.* TO 'demo_user'@'%';

4. 在 ECS 上用 Python 连接

先执行 pip install pymysql,再新建 rds_demo.py:

import os
import pymysql

conn = pymysql.connect(
    host=os.environ["RDS_HOST"], port=3306,
    user=os.environ["RDS_USER"], password=os.environ["RDS_PASSWORD"],
    database="demo_db", charset="utf8mb4", connect_timeout=5)

with conn.cursor() as cur:
    cur.execute("CREATE TABLE IF NOT EXISTS notes (id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(100) NOT NULL)")
    cur.execute("INSERT INTO notes (title) VALUES (%s)", ("第一条数据",))
    conn.commit()
    cur.execute("SELECT id, title FROM notes ORDER BY id DESC LIMIT 5")
    print(cur.fetchall())
conn.close()

连接信息通过环境变量传入,不要把密码写进代码或提交到仓库:先 export RDS_HOST=内网地址 RDS_USER=demo_user RDS_PASSWORD=你的密码,再运行 python3 rds_demo.py。

5. 常见问题

连接超时:检查安全组是否放通 3306、ECS 与 RDS 是否同一 VPC、实例状态是否正常。Access denied:检查账号主机范围、密码和库权限。中文乱码:确认库、表、连接都使用 utf8mb4。

6. 运维建议

开启自动备份并设置保留天数;通过参数模板调整 max_connections 等参数;在监控中关注 CPU、连接数和磁盘使用率;学习结束后及时删除实例,避免持续计费。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。