I'm receiving this error when trying to just run a simple query on my database.
My code is as follows (I left the first part default but I actually have it filled out with my information on my python script):
import mysql.connector
import sshtunnel
sshtunnel.SSH_TIMEOUT = 5.0
sshtunnel.TUNNEL_TIMEOUT = 5.0
with sshtunnel.SSHTunnelForwarder(
('your SSH hostname'),
ssh_username='your PythonAnywhere username', ssh_password='the password you use to log in to the PythonAnywhere website',
remote_bind_address=('your PythonAnywhere database hostname, eg. yourusername.mysql.pythonanywhere-services.com', 3306)
) as tunnel:
connection = mysql.connector.connect(
user='your PythonAnywhere username', password='your PythonAnywhere database password',
host='127.0.0.1', port=tunnel.local_bind_port,
database='your database name, eg yourusername$mydatabase',
)
cursor = connection.cursor()
cursor.execute("select * from semesters")
for i in cursor:
print(i)
connection.close()
I just take the default code and I run a simple execute command from mysql.connector. However I get the error in the title and I'm not sure what I am doing wrong. Here is the full error message:
Traceback (most recent call last):
File "C:\Users\Jaden\python_datebase\database_connect.py", line 17, in <module>
cursor = connection.cursor()
File "E:\Python 3.9\lib\site-packages\mysql\connector\connection.py", line 809, in cursor
raise errors.OperationalError("MySQL Connection not available.")
mysql.connector.errors.OperationalError: MySQL Connection not available.
Again, in my actual code, I do not have the fill in the blanks in the sshtunnel and connection parts left as default. Any help would be appreciated.