设置 SQL 以使用 python 进行远程访问

Setting up SQL to be remotely accessed with python

好的,所以我在 SQL 和 SQL 关系中是个十足的好人。我有一个需要 SQL 连接的应用程序,到目前为止我还没有遇到任何 SQL 问题,因为我一直在使用 xampp 连接到本地数据库,这非常简单配置。但是现在我在 cPanel 帐户上有一个数据库,名称便宜。当我在线搜索时,每个教程在其 cPanel 的主界面中都有一个 mySQL 数据库的 Remote Access 选项,但我没有。我按照 namecheap 教程远程连接到您的数据库,我 运行 在我的机器上执行了以下命令。

ssh -f cPanel_username@host.com -p21098 -L 3306:127.0.0.1:3306 -N

输入我的密码和所有内容然后尝试运行这个python脚本

import pymysql

# Fields = the host, the user, the password, the database

try:
    db = pymysql.connect("host.com", "hostUser", "********" , "hostDB")

    # prepare a cursor object using 
    cursor = db.cursor()
     
    # Creating tables for our data base
    user_table = """CREATE TABLE user(  
                id INT AUTO_INCREMENT,
                First_Name VARCHAR(100),
                Last_Name VARCHAR(100),
                Email VARCHAR(100),
                Password VARCHAR(100),
                register_date DATETIME,
                PRIMARY KEY(id));"""

   # Execute databse insertion
    cursor.execute(user_table)

    print("Succesfully created the table")
except Exception as e:
    print("Failed to create table: ", str(e))

我遇到了这个错误

Failed to create table:  (2003, "Can't connect to MySQL server on 'host.com' (timed out)")

不仅如此,现在我什至无法访问我原来的本地托管数据库。我 运行 我的 cmd 中的 netsat 命令。

输入:

netstat -aon | findstr [3306]

输出:

 TCP    127.0.0.1:3306         0.0.0.0:0              LISTENING       15676

我的问题是如何连接到托管在 cPanel 上的数据库,以及我需要在物理机中更改哪些实际参数才能返回本地托管数据库上的 运行ning 代码。我只想能够从在 cPanel 数据库中发帖到在本地托管的数据库中发帖。最简单的方法是什么

楼主错了

主机必须是'127.0.0.1'端口3306

因此每个到达该地址(您的本地计算机)和端口的包裹都会通过 ssh 隧道

传输到 'other' 端