Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python &引用;sha256“U密码或缓存”sha2“U密码”需要加密;_Python_Mysql_Cryptography_Mysql Python - Fatal编程技术网

Python &引用;sha256“U密码或缓存”sha2“U密码”需要加密;

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 =

你好。希望你一切都好。有人能帮我修一下吗

我是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()

下载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;