我的暑期项目是将数据放入SQL进行处理。不幸的是,我无法建立到SQL with mysql连接器的连接。在
我正在测试的python文件有两行:
进口mysql.connector在db1 = mysql.connector.connect(host="localhost", database="thename", user="user",password="passw")
错误消息是:C:\Projekt\Python efforts...>test.py Traceback (most recent call
last): File
"C:\Users\Niklas\AppData\Local\Programs\Python\Python35\lib\site-packages\mysql\connector\network.py",
line 472, in open_connection
self.sock.connect(sockaddr) ConnectionRefusedError: [WinError 10061] Det gick inte att göra en anslutning eftersom måldatorn aktivt
nekade det
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "C:\Projekt\Python
efforts...\test.py", line 4, in
db1 = mysql.connector.connect(host="localhost&#
我的暑期项目是将数据放入SQL进行处理。不幸的是,我无法建立到SQL with mysql连接器的连接。在我正在测试的python文件有两行:进口mysql.connector在db1 = mysql.connector.connect(host="localhost", database="thename", user="user",password="passw")错误消息是:C:\Proje...
sqlalchemy
.
exc
.Internal
Error
问题处理
错误提示:
sqlalchemy
.
exc
.Internal
Error
: (cy
mysql
.err.Internal
Error
) (1055, "Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column
问题原因:...
取消py
mysql
后,可能需要pip install
mysql
。如果是centos的话可能会报错:
Command "python setup.py egg_info" failed with
error
code 1 in /tmp/pip-build-P6IAnP/
mysql
-python/
这个错误是新手经常会遇到的,本文主要介绍如何修复
ERROR
2003
(HY000): Can’t connect to
MySQL
server on ‘localhost’ (10061)
解决方案:
1、登录到安装
Mysql
的主机,打开cmd命令行工具,执行命令
mysql
-uroot -p,报出下面所描述的错误;
2、在开始菜单中找到计算机管理,在计算机管理中找到【服务】,在...
sqlalchemy
.
exc
.Integrity
Error
: (
mysql
.
connector
.
errors
.Integrity
Error
) 1062 (23000): Duplicate entry ‘1@qq.com’ for key ‘email’
[SQL: UPDATE cms_user SET email=%(email)s WHERE cms_user.id = %(cms_user_id)s]
[parameters: {‘email’: ‘1@qq.com’, ‘cms_user_id’:
sqlalchemy
.
exc
.Programming
Error
: (
mysql
.
connector
.
errors
.Programming
Error
) 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)
如下图所示:
mysql
.
connector
.
errors
.notsupported
error
: authentication plugin 'caching_sha2_password' is not supported
### 回答1:
该错误提示表示不支持使用'caching_sha2_password'身份验证插件。这通常是由于
MySQL
服务器版本过高或客户端版本过低导致的。解决方法是升级客户端版本或降低服务器版本,或者使用其他身份验证插件。
### 回答2:
这个错误是因为
MySQL
数据库的默认认证插件已经从
mysql
_native_password 改为了 caching_sha2_password,而 Python 的
MySQL
Connector
还没有对这个新的认证插件提供支持,因此当连接
MySQL
数据库时就会出现这种错误。
要解决这个问题,有两种方法。第一种方法是在
MySQL
中将默认认证插件改回
mysql
_native_password。这可以通过以下 SQL 命令实现:
ALTER USER 'root'@'localhost' IDENTIFIED WITH
mysql
_native_password BY 'password';
其中,'root'@'localhost' 是你要修改的用户名和主机名,password 是该用户的密码。如果你的
MySQL
版本为 8.0.4 及以上,需要将上面的命令中的 BY 改为 USING。
第二种解决方法是升级
MySQL
Connector
,使其支持 caching_sha2_password 认证插件。如果你使用的是 Python 3.7 及以上版本,可以直接使用
MySQL
Connector
8.0 或更高版本。如果你使用的是 Python 3.6 及以下版本,可以使用
MySQL
Connector
2.2.9 或更高版本。你可以通过以下命令升级
MySQL
Connector
:
pip install --upgrade
mysql
-
connector
-python
当然,升级后需要相应地更改连接
MySQL
数据库的代码。具体地,需要在连接
MySQL
数据库时指定 auth_plugin 参数,将其设置为 caching_sha2_password,如下所示:
cnx =
mysql
.
connector
.connect(user='root', password='password', host='localhost', database='mydatabase', auth_plugin='caching_sha2_password')
以上就是解决 authentication plugin 'caching_sha2_password' is not supported 错误的两种方法。通过修改
MySQL
的默认认证插件或者升级
MySQL
Connector
都可以解决这个问题。
### 回答3:
这个错误信息意味着
MySQL
数据库的身份验证插件“caching_sha2_password”不受支持。这可能会发生在使用较旧的
MySQL
客户端版本时,因为旧版客户端不支持新的身份验证插件。
解决这个问题的方法是更新
MySQL
客户端驱动程序,以支持“caching_sha2_password”插件。通常,可以通过升级到最新版本的
MySQL
客户端驱动程序来解决此问题。
另外,还可以通过更改
MySQL
用户的身份验证插件来解决此问题。可以使用“
mysql
_native_password”插件将用户的身份验证方式更改为旧的插件,以使旧版
MySQL
客户端也能够访问数据库。
要更改用户的身份验证插件,可以按照以下步骤操作:
1. 登录
MySQL
数据库。
2. 运行以下命令以更改用户的身份验证插件:
ALTER USER 'username'@'localhost' IDENTIFIED WITH
mysql
_native_password BY 'password';
将“username”替换为要更改的用户名,“localhost”替换为数据库主机名,“password”替换为用户的密码。
3. 以新的身份验证方式登录
MySQL
数据库。
以上是解决
MySQL
认证插件不支持错误信息的方法,注意备份数据并谨慎操作。