Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 设置要使用python远程访问的SQL_Mysql_Python 3.x_Cpanel_Pymysql_Netstat - Fatal编程技术网

Mysql 设置要使用python远程访问的SQL

Mysql 设置要使用python远程访问的SQL,mysql,python-3.x,cpanel,pymysql,netstat,Mysql,Python 3.x,Cpanel,Pymysql,Netstat,好吧,我是SQL和SQL连接方面的高手。我有一个需要SQL连接的应用程序,到目前为止,我还没有遇到任何SQL问题,因为我一直在使用xampp连接到本地数据库,这很容易配置。然而,现在我在一个cPanel帐户上有一个数据库,名为cheap。当我在线搜索时,每个教程在其cPanel的主界面中都有一个mySQL数据库的远程访问选项,但我没有。我按照namescape教程远程连接到数据库,并在我的机器上运行以下命令 ssh -f cPanel_username@host.com -p21098 -L 3

好吧,我是SQL和SQL连接方面的高手。我有一个需要SQL连接的应用程序,到目前为止,我还没有遇到任何SQL问题,因为我一直在使用xampp连接到本地数据库,这很容易配置。然而,现在我在一个cPanel帐户上有一个数据库,名为cheap。当我在线搜索时,每个教程在其cPanel的主界面中都有一个mySQL数据库的
远程访问
选项,但我没有。我按照namescape教程远程连接到数据库,并在我的机器上运行以下命令

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
输出:

netstat -aon | findstr [3306]
 TCP    127.0.0.1:3306         0.0.0.0:0              LISTENING       15676
我的问题是如何连接到cPanel上托管的数据库,以及我需要在物理机器中更改哪些实际参数才能返回到本地托管数据库上运行代码。我只是希望能够从在cPanel数据库中发布到在本地托管的数据库中发布。最简单的方法是什么主机出错了

主机必须是“127.0.0.1”端口3306


因此,每个到达该地址(您的本地计算机)和端口的包都会通过ssh隧道传输到“另一方”

好的,您介意解释一下这个命令到底做了什么,以及我如何恢复到使用我机器上的原始本地数据库吗<代码>ssh-f cPanel_username@host.com-p21098-L 3306:127.0.0.1:3306-N只需关闭隧道,端口就会再次打开,如果您经常这样做,请将本地mysql端口更改为3307