繁体   English   中英

启用端口转发后,无法访问另一台PC上的MySQL数据库

[英]Unable to access MySQL Database on another PC with port forwarding on

我正在从事一个涉及服务器访问数据库的项目。 该数据库是在MySQL(v8.0)上开发的,并在另一台PC上处于活动状态。 通过端口转发可以访问数据库,但是只要从我的PC访问数据库,就会出现以下错误。

“不支持身份验证插件'{0}'”。format(plugin_name))mysql.connector.errors.NotSupportedError:不支持身份验证插件'caching_sha2_password'

我尝试重新安装mysql python连接器,并检查所有版本是否相同,但它们都已签出(我什至还制作了另一台VM来交叉验证相同!)。

请帮忙。 任何形式的输入将不胜感激!

尝试使用telnet打开与数据库正在运行的端口的连接。 例如

phill@kore:~$ telnet localhost 3306
Trying ::1...
Connected to localhost.localdomain.
Escape character is '^]'.
J
5.7.22q8TpMY /fT[zVmysql_native_password Connection closed by foreign host.
phill@kore:~$

在这种情况下,mysql服务期望使用mysql_native_password可能这个问题可能会有所帮助:

不支持身份验证插件“ caching_sha2_password”

您正在使用mysql_native_password,它不再是默认值。 假设您使用的版本适用于正确的连接器,则在实例化连接对象时需要指定auth_plugin参数

 cnx = mysql.connector.connect(user='lcherukuri', password='password', host='127.0.0.1', database='test', auth_plugin='mysql_native_password') 

还建议尝试这样的方法:

mysql> select Host,User,plugin from mysql.user;
+-----------+---------------+-----------------------+
| Host      | User          | plugin                |
+-----------+---------------+-----------------------+
| localhost | root          | mysql_native_password |
| localhost | mysql.session | mysql_native_password |
| localhost | mysql.sys     | mysql_native_password |

感谢您的输入。 原来,该问题是由于软件安装不正确引起的。 从mysql网站安装deb软件包时,安装可能会丢失一些关键组件,因为这些组件无法运行代码。

我尝试在终端上运行以下命令

pip install mysql-connector-python

此后问题消失了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM