首页 > 解决方案 > 无法使用 python 连接到远程 MySql 数据库

问题描述

您好,我正在尝试连接到主机上的数据库。我遵循了本教程:https://www.thepythoncode.com/article/connect-to-a-remote-mysql-server-in-python

这是我的代码:

import pymysql.cursors
import pymysql

try:
    connection = pymysql.connect(host='195.201.204.153',
                                user='turboweb_jobsuser',
                                password='TYcfvA*****',
                                db='turboweb_jobsdb_user',
                                )
    print("Connected to:", connection.get_server_info())

except Exception as e:
    print('connection failed')
    print(e)

但是,每次我尝试连接时,都会发生此错误:

(2003, "Can't connect to MySQL server on '195.201.204.153' (timed out)")

网站地址是:assamjobsapp.turboweb.online在这里做一个ping,给我这个IP: 195.201.204.153

我已经从 Hosting PHPMyadmin 创建了数据库、用户和表,但我不知道如何连接到它。我应该为连接提供数据库用户名/密码还是 Cpanel 用户名/密码

请帮忙。谢谢

标签: pythonmysqlremote-access

解决方案


正如评论所提到的,许多(大多数!)托管服务提供商在他们的数据库服务器和公共互联网之间设置了防火墙。因为网络蠕虫。尝试做防火墙禁止的事情通常会导致你得到的那种超时。

如果您想从您的笔记本电脑或提供商防火墙之外的其他机器连接到 MySQL 数据库,您必须要求他们调整防火墙规则以允许您的特定机器连接。一旦防火墙允许您的机器连接,请使用您的数据库用户名/密码建立连接。

一些提供商为此提供了自助服务用户界面,通常在他们的 cpanels 中。其他人则要求您请客户支持代理来执行此操作。


推荐阅读