Forums

MySQLdb.OperationalError: (2013, "Lost connection to server at 'handshake: reading initial communication packet', system error: 0")

Hello, I'm currently encountering an issue with my PythonAnywhere database on my local system. Previously, everything was functioning correctly, but now I'm consistently facing the mentioned error. It's worth noting that I'm using a paid account. I'm seeking guidance on how to resolve this issue and restore the smooth operation that I enjoyed before. Any assistance you can provide in troubleshooting and resolving this matter would be greatly appreciated.

Are you using an SSH tunnel? This help page has the details on how to set one up.

yes i m using sshtunnel you can see my code below

def get_db_data():
    import MySQLdb
    import sshtunnel

    sshtunnel.SSH_TIMEOUT = 5.0
    sshtunnel.TUNNEL_TIMEOUT = 5.0

    with sshtunnel.SSHTunnelForwarder(
            ('ssh.pythonanywhere.com'),
            ssh_username='myusernmae', ssh_password='mypassword',
            remote_bind_address=('Rajanosha7.mysql.pythonanywhere-services.com', 3306)
    ) as tunnel:
        connection = MySQLdb.connect(
            user='Rajanosha7',
            passwd='mydbpass',
            host='127.0.0.1', port=tunnel.local_bind_port,
            db='Rajanosha7$olinsure_db',
        )
        # Do stuff
        mycursor = connection.cursor()
        # mycursor.execute("SELECT DISTINCT state FROM leads  ")
        # mycursor.execute("SELECT * FROM leads WHERE id>26700 and id<27200 and posted=0;")
        mycursor.execute("SELECT * FROM medicare_data WHERE systemz=11 and  posted=0;")
        resultsz = mycursor.fetchall()
        connection.close()
        print(resultsz)
        print(len(resultsz))
        return resultsz

[edit by admin: formatting]

What version of the MySQL libraries do you have installed locally? That error looks like one I've seen when people try to connect to a MySQL 8 database using the 5.7 libraries.