日安。希望你们一切都好。有人能帮我解决这个问题吗?
我对MySQL环境很陌生。我正在尝试远程连接到MySQL数据库。我使用了下面的python代码并得到了这个错误。
Print(e) = "cryptography is required for sha256_password or
caching_sha2_password"也不知道如何解决这个错误。
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()发布于 2019-02-01 10:47:44
import mysql.connector
def connection():
conn = mysql.connector.connect(host = "XXXXX",
user = 'XXXXX',
password = 'XXXXX',
database = 'login_page',
auth_plugin='mysql_native_password')
c = conn.cursor()
return c , conn下载mysql连接器而不是pymysql,并尝试以这种方式进行连接。它对我有效,希望它也对你有用。
发布于 2019-02-08 06:02:33
错误信息可以变得更全面,更有帮助。为了修复这个“加密”包,需要安装。
pip install cryptography发布于 2019-05-13 17:58:18
要使用“sha256_password”或“caching_sha2_password”进行身份验证,需要安装额外的依赖项:
$ python3 -m pip install PyMySQL[rsa]来源:https://pymysql.readthedocs.io/en/latest/user/installation.html
https://stackoverflow.com/questions/54477829
复制相似问题