我已经设置了一个正在运行的mysql实例(并且可以通过命令行成功以root或其他用户身份登录),但是在尝试使用以下方式进行连接时:
from mysql import connector
conn = connector.connect(user='root', password='...', host='127.0.0.1')
我得到了错误:
2026 (HY000): SSL connection error: SSL_CTX_set_tmp_dh failed
我是mysql的新手,很抱歉,如果这是一个明显的问题,但会有所帮助。
如果有帮助,这是我从命令行运行时的mysql状态:
mysql Ver 8.0.13 for Linux on x86_64 (MySQL Community Server - GPL)
Connection id: 32
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 8.0.13 MySQL Community Server - GPL
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8mb4
Conn. characterset: utf8mb4
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 1 hour 6 min 28 sec
答案 0 :(得分:0)
您是否运行过mysql_ssl_rsa_setup
命令?根据文档:
此程序创建SSL证书,密钥文件和RSA 支持使用SSL和SSL进行安全连接所需的密钥对文件 使用RSA通过未加密的连接进行安全的密码交换
答案 1 :(得分:0)
我遇到了完全相同的问题,不得不将mysql-connector-python版本从8.x.x更改为2.2.3。那完全解决了我的问题。希望这对某人有帮助。