Mysql
升級到 Ubuntu 20.04 後無法連接 MySQL(錯誤 2026)
將我的工作站升級到 Ubuntu 20.04 LTS 後,我無法連接到 CentOS 7 伺服器上執行的 MySQL 5.7.27。我正在使用命令連接
mysql -h <server_ip> -u <user_name> -p
,輸入密碼後出現錯誤 2026:ERROR 2026 (HY000): SSL connection error: error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol
我還嘗試使用 mysqldump 獲取數據庫數據,但最終出現類似錯誤。我想也許在工作站升級 mysql 客戶端不支持舊協議之後,我已經使用 ssh 登錄伺服器,從伺服器的 shell 訪問 mysql 並查看支持哪些協議
mysql> SHOW GLOBAL VARIABLES LIKE 'tls_version'; +---------------+---------------+ | Variable_name | Value | +---------------+---------------+ | tls_version | TLSv1,TLSv1.1 | +---------------+---------------+ 1 row in set (0,00 sec)
有了這些資訊,我再次嘗試從工作站連接,這次指定了 TLS 版本
mysql -h <server_ip> --tls-version=TLSv1.1 -u <user_name> -p mysql -h <server_ip> --tls-version=TLSv1 -u <user_name> -p
兩個命令都以
ERROR 2026 (HY000): SSL connection error: error:141E70BF:SSL routines:tls_construct_client_hello:no protocols available
我發現的唯一解決方法是使用禁用 SSL
mysql -h <server_ip> --ssl-mode=DISABLED -u <user_name> -p
我錯過了什麼還是一些錯誤?謝謝您的回答。
我找到了一個解決方案,假設您的 MySQL 使用的是 OpenSSL 而不是 yaSSL。
參考 MySQL 的ssl_cipher配置變數。
配置包含偽密碼的密碼列表
@SECLEVEL=1
。例如,
ssl_cipher = "DHE-RSA-AES128-GCM-SHA256:AES128-SHA:@SECLEVEL=1"
如果您需要更寬鬆但仍然安全的密碼表,
"EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:ECDHE-RSA-AES128-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA128:DHE-RSA-AES128-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA128:ECDHE-RSA-AES128-SHA384:ECDHE-RSA-AES128-SHA128:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA384:AES128-GCM-SHA128:AES128-SHA128:AES128-SHA128:AES128-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:@SECLEVEL=1"
取自cipherlist.eu可能會完成這項工作。