Python &引用;sha256“U密码或缓存”sha2“U密码”需要加密;
你好。希望你一切都好。有人能帮我修一下吗 我是MySQL环境的新手。我正在尝试远程连接到MySQL数据库。我使用了下面的python代码并得到了这个错误Python &引用;sha256“U密码或缓存”sha2“U密码”需要加密;,python,mysql,cryptography,mysql-python,Python,Mysql,Cryptography,Mysql Python,你好。希望你一切都好。有人能帮我修一下吗 我是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 =
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()
下载mysql连接器而不是pymysql,并尝试以这种方式连接。它对我有用,希望对你也有用。错误信息可以更全面、更有用。为了修复此“加密”包,需要安装
pip install cryptography
要使用“sha256\u密码”或“缓存sha2\u密码”进行身份验证,您需要安装其他依赖项:
$ python3 -m pip install PyMySQL[rsa]
来源:无论如何,我今天在Python中通过SQLAlchemy使用MySQL时遇到了这个问题。结果证明我使用了这个帐户的错误密码。换句话说,如果您有这个问题,您可能希望首先确认您使用的是正确的密码
FWIW,我不知道为什么会产生加密信息。有什么问题吗?在MYSQL工作台上轻松解决。创建一个新的MySQL用户,并用您的IP填充“主机匹配限制”。默认情况下为%
我也遇到了这个问题。当我试图在MySQL Worbench中解决@brcmipn的使用方法时,它告诉我MySQL是在超级安全模式下运行的
SET GLOBAL READ_ONLY = OFF;
在那之后,问题就不会再发生了。我今天在Python中通过SQLAlchemy使用MySQL时也遇到了这个问题。它通过mysql-u root-p登录数据库就消失了。感谢@Ben的提示。可能发生了一些错误。我收到了消息,因为我的数据库尚未启动。谢谢,它正常工作了。我还需要在代码中添加“auth_plugin='mysql_native_password'”部分。谢谢。这对我很管用。我不觉得有必要重新发明轮子。与pymysql完美配合。在macOS上,您可能不喜欢安装brew,这是一个很好的解决方案。任何人在安装加密时出现生锈错误,请尝试升级Pip。谢谢这正是我的问题,而不是
root
,我必须对脚本中使用的用户执行相同的操作。
SET GLOBAL READ_ONLY = OFF;