急なエラー
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='データベース名' )
これでエラーなし。 だが、もともとの状態からの復旧じゃないのがくやしいところ。