Good day. Hope your all are well. Can someone help me with fix this?
I'm new to the MySQL environment. I'm trying to connect to MySQL Database remotely. I used the following python code and got this error.
Print(e) = "cryptography is required for sha256_password or
caching_sha2_password"
And have no idea how to solve the error.
import pymysql as db
HOST = "XXXXX.XXX.XX”
PORT = XXXX
USER = "my_username"
PASSWORD = "my_password”
DB = "db_name"
try:
connection = db.Connection(host=HOST, port=PORT,user=USER,
passwd=PASSWORD, db=DB)
dbhandler = connection.cursor()
dbhandler.execute("SELECT * from table_name")
result = dbhandler.fetchall()
for item in result:
print (DB)
except Exception as e:
print(e)
finally:
connection.close()
To use “sha256_password” or “caching_sha2_password” for authenticate, you need to install additional dependency:
Source: https://pymysql.readthedocs.io/en/latest/user/installation.html
The error message can be made more comprehensive and helpful. In order to fix this "cryptography" package needs to be installed.
Download mysql connector rather than pymysql and try connecting this way. It worked for me, hope it works for u too.