You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python应用访问托管网站的MySQL数据库?及OVH套餐兼容性确认

解决方案:Python访问在线MySQL数据库 + OVH套餐验证

一、Python连接在线MySQL数据库的实现步骤

1. 前置配置

  • 开启数据库远程访问:登录OVH数据库管理面板,找到「远程访问」选项,将Python运行设备的公网IP加入白名单(测试阶段可临时设为0.0.0.0/0,正式环境务必改为固定IP)。
  • 收集数据库核心信息:主机地址(OVH提供的数据库域名,如mysqlXXX.ovh.net)、端口(默认3306)、数据库名、用户名、密码。

2. 安装Python依赖

通过pip安装MySQL连接库,推荐使用mysql-connector-python:

pip install mysql-connector-python

3. 核心代码实现

import mysql.connector
import json
import os

# 数据库配置(正式环境建议用环境变量存储密码)
DB_CONFIG = {
    'host': '你的OVH数据库主机地址',
    'user': '数据库用户名',
    'password': os.getenv('DB_PASSWORD'),  # 从环境变量取密码
    'database': '数据库名',
    'port': 3306
}

def process_data():
    conn = None
    cursor = None
    try:
        # 建立数据库连接
        conn = mysql.connector.connect(**DB_CONFIG)
        cursor = conn.cursor(dictionary=True)

        # 1. 查询特定数据(替换为你的业务条件)
        fetch_query = "SELECT * FROM 目标表 WHERE 筛选字段 = %s"
        cursor.execute(fetch_query, ('目标值',))
        target_data = cursor.fetchall()

        if not target_data:
            print("无符合条件的数据")
            return

        # 2. 存储数据到本地(以JSON格式为例)
        with open('本地存储文件.json', 'w', encoding='utf-8') as f:
            json.dump(target_data, f, ensure_ascii=False, indent=2)
        print(f"已存储{len(target_data)}条数据到本地")

        # 3. 删除数据库中已提取的数据(先确认本地存储成功再执行)
        delete_query = "DELETE FROM 目标表 WHERE 筛选字段 = %s"
        cursor.execute(delete_query, ('目标值',))
        conn.commit()
        print(f"已从数据库删除{cursor.rowcount}条数据")

    except mysql.connector.Error as err:
        print(f"数据库错误: {err}")
        if conn:
            conn.rollback()  # 出错则回滚事务
    finally:
        # 关闭连接资源
        if cursor:
            cursor.close()
        if conn:
            conn.close()

if __name__ == "__main__":
    process_data()

4. 关键注意事项

  • 必须使用参数化查询(如代码中的%s占位符),避免SQL注入风险。
  • 操作要保证原子性:本地存储失败时,务必回滚删除操作,防止数据丢失。
  • 敏感信息(如数据库密码)不要硬编码,用环境变量或加密配置文件管理。

二、OVH基础套餐兼容性确认

OVH最便宜的托管套餐(如Web Hosting Start)完全满足需求,核心支持点:

  • 提供MySQL数据库(存储空间通常5GB起步,足够小型项目使用)。
  • 支持配置数据库远程IP白名单,允许外部程序连接。
  • 默认开放MySQL标准端口3306,无需额外申请。

若有疑问,可直接在OVH控制面板查看套餐详情,或联系客服确认两个核心点:数据库远程访问权限、端口开放状态。

内容的提问来源于stack exchange,提问作者Yedenn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 22:48:11