【Python】: (2006, 'SSL connection error: SSL_CTX_set_tmp_dh failed')

急なエラー

OperationalError: (2006, 'SSL connection error: SSL_CTX_set_tmp_dh failed')

環境はVMware+ubuntu。 いつも行っているスクレイピング前に、このエラーが急に出ました。

やったこと

仮想環境上、端末(terminal)でconda list。 mysqlclientのバージョンを調べる。 Anaconda Navigatorを起動し、mysqlclientをアップデート。

conda clean --allしても遅い?のか、作業進行が見えないため方針を変更する。

端末(terminal)へ戻り、 conda update mysqlclient うまくアップデートできていない模様。

このままだとどのみちこの仮想環境が使えなくなるので、全体のアップデートをかけてみることにする。 conda update conda しばらく待つ…ディスク容量不足のため不要ファイルを消す。 Anaconda Navigatorを起動し、sql関連をアップデートすることにして、しばらくアップデート待ち。

どうにも作業進行しないので、 pip3 install mysqlclient アップデートに成功後、エラー内容が変化。 OperationalError: (2026, 'SSL connection error: SSL_CTX_set_tmp_dh failed')

Python MySQL (2026)SSL connection error - Trouvaille的文章 - 知乎 https://zhuanlan.zhihu.com/p/58995940

opensslが1.1.1bにアップグレードされました。OpenSL1.1.1a以降には2026のバグがあります。1.0.2r以下へのダウングレードは解決できます。

上記書き込みを発見し、更に作業。 conda install openssl=1.0.2r 更にVMwareを再起動。

解決しないため、新しい仮想環境を作成。

import mysql.connector

conn = mysql.connector.connect( host='ホスト名', user='ユーザー名', password='パスワード', database='データベース名' )

これでエラーなし。 だが、もともとの状態からの復旧じゃないのがくやしいところ。