MySQL ERROR 2026 - SSL 连接错误 - Ubuntu 20.04

     2023-02-24     81

关键词:

【中文标题】MySQL ERROR 2026 - SSL 连接错误 - Ubuntu 20.04【英文标题】:MySQL ERROR 2026 - SSL connection error - Ubuntu 20.04 【发布时间】:2020-08-22 06:36:44 【问题描述】:

我最近将我的本地机器操作系统从 Ubuntu 18.04 升级到 20.04,我在 CentOS (AWS) 上运行我的 MySQL 服务器。每当我尝试连接到 MySQL 服务器时,升级后都会引发 SSL 连接错误。

$ mysql -u yamcha -h database.yourproject.com -p --port 3309

ERROR 2026 (HY000): SSL connection error: error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol

但如果我同时传递--ssl-mode=disabled 选项,我就可以远程连接。

$ mysql -u yamcha -h database.yourproject.com -p --port 3309 --ssl-mode=disabled

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 22158946
Server version: 5.7.26 MySQL Community Server (GPL)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

查询:

    如何连接不通过--ssl-mode=disabled 如何在我的 Django 应用程序中传递此 --ssl-mode=disabled 选项,目前我已将其定义如下所示,但我仍然遇到相同的错误。
DATABASES = 
    'default': 
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'yamcha',
        'USER': 'yamcha',
        'PASSWORD': 'xxxxxxxxxxxxxxx',
        'HOST': 'database.yourproject.com',
        'PORT': '3309',
        'OPTIONS': 'ssl': False,
    

【问题讨论】:

最好的解决方案是升级 RDS 中使用的 mySQL 版本。我的引擎版本 5.6.44 有这个问题,但 8.0.17 没有。 TLS 1.0 不再被认为是安全的,因此强制使用它对我来说似乎是一个 hacky 解决方案。 @mRyan 的评论是最好的答案,它对我有用 【参考方案1】:

mysqlclient 升级到 v2.X,其中添加了ssl_mode 选项,https://github.com/PyMySQL/mysqlclient-python/blob/main/HISTORY.rst

DATABASES = 
    'default': 
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'yamcha',
        'USER': 'yamcha',
        'PASSWORD': 'xxxxxxxxxxxxxxx',
        'HOST': 'database.yourproject.com',
        'PORT': '3309',
        'OPTIONS': 'ssl_mode': 'DISABLED',
    

【讨论】:

对我来说,只需更新我的mysqlclient 版本就可以了。我没有更改 DATABASES 字典。【参考方案2】:

如果您仍然想要升级的安全功能,那么您可以考虑将您的 mysql 服务器升级到 5.7。

【讨论】:

【参考方案3】:

如果您使用的是 MYSQL Workbench:

只需通过编辑连接禁用 SSL。

    在连接面板中编辑连接

    在屏幕截图中给出的参数后的选项中选择 SSL 连接中

    选择使用 SSL:否

    最后会是这个样子。

在 Mysql 工作台以外的客户端上,您也可以尝试禁用 SSL

【讨论】:

在工作台中设置此选项不会影响数据导出。它仍然失败并出现同样的错误。【参考方案4】:

将此添加到您的 mysql 5.7 服务器配置文件中,然后重新启动您的 mysql 服务

[mysqld]
tls_version=TLSv1.2

现在您应该可以使用 tls 1.2 连接到它,这是 Ubuntu 20.04 中的默认设置


为了完整起见,在 Ubuntu 20.04 中,my.cnfmysql.cnf 实际上是同一个文件。所以编辑任何一个都可以。

$ readlink -f /etc/mysql/my.cnf
/etc/mysql/mysql.cnf

【讨论】:

【参考方案5】:

对于任何使用谷歌搜索的人,您可以在 mysql cmd 中使用此标志: --ssl-mode=DISABLED。即:

mysql -uuser -p'myPassw0rd!' -hmysql.company.com --ssl-mode=DISABLED

【讨论】:

我认为这对我来说是最好的答案,因为我不想编辑全局设置来连接到单个 SQL 实例。这提供了完美的临时解决方案,而不会影响其他任何东西。 我确信这不是理想的解决方案,但与编辑 ssl confs 相比,这是一种快速的工作方式【参考方案6】:

Ubuntu 20 提高了安全级别。 我可以连接的唯一方法是允许 tls 1 。

编辑这个文件:

/usr/lib/ssl/openssl.cnf

并放在文件开头:

openssl_conf = default_conf

在那个文件的最后:

[ default_conf ]

ssl_conf = ssl_sect

[ssl_sect]

system_default = ssl_default_sect

[ssl_default_sect]
MinProtocol = TLSv1
CipherString = DEFAULT:@SECLEVEL=1

对我帮助很大:https://askubuntu.com/questions/1233186/ubuntu-20-04-how-to-set-lower-ssl-security-level

【讨论】:

我确实按照步骤进行了,但仍然是同样的问题,我只有通过 --ssl-mode=disabled 才能连接 两天前你在哪里 ;-) 谢谢! 非常感谢,对我帮助很大 您也可以简单地将 mysqld 升级到 ssl 1.2,而不是降级您的 ssl 和潜在的安全级别。请参阅下面的this answer。

cPanel SSL ERROR 2026 (HY000): SSL connection error: error:14094418:SSL routines:ssl3_read_bytes:tls

...8-2617:30:35【问题描述】:我正在尝试在我的WHM服务器上为mysql设置SSL。我一直在关注officialcPaneldocumentation,但遇到了问题。我已经创建 查看详情

解决windows下django.db.utils.operationalerror:(2026,‘sslconnectionerror:unknownerrornumber‘)问题

...题:如图settings.py数据库配置出错原因:高版本的mysql默认ssl是开启的(我的数据库是mysql8.0),解决方法:关闭ssl进入mysql:使用SHOWVARIABLESLIKE‘%ssl%’;查看ssl是开启的修改my.ini配置文件位置:C:\\ProgramData\\MySQ... 查看详情

Heroku SSL 连接错误不支持的协议

】HerokuSSL连接错误不支持的协议【英文标题】:HerokuSSLconnectionerrorunsupportedprotocol【发布时间】:2021-05-0409:51:13【问题描述】:我使用Heroku来托管我的Discord机器人已经有一段时间了。它已成功连接到托管在ClearDB上的MySQL数据库。... 查看详情

mysql两种连接方式和ssl连接、x509认证

参考技术Amysql连接可分为socket连接和TCP|IP连接两种。[root@localhostbin]#mysql-uroot-p123456-S/tmp/mysql.sock-S/tmp/mysql.sock可以省略,因为默认参数如下:假如sock文件另有其它,那么就后面不能省略,需要指定下。mysql-h127.0.0.1-P3306-uroot-p123456... 查看详情

IPN 响应:WP_Error 对象,SSL 连接错误,错误响应:SSL 连接错误

】IPN响应:WP_Error对象,SSL连接错误,错误响应:SSL连接错误【英文标题】:IPNResponse:WP_ErrorObject,SSLconnecterror,Errorresponse:SSLconnecterror【发布时间】:2016-05-0702:41:00【问题描述】:我们设置了多个WooCommerce商店,但其中一个我们应... 查看详情

WampServer HTTPS“拒绝连接”/“SSL_ERROR_RX_RECORD_TOO_LONG”

】WampServerHTTPS“拒绝连接”/“SSL_ERROR_RX_RECORD_TOO_LONG”【英文标题】:WampServerHTTPS"refusedtoconnect"/"SSL_ERROR_RX_RECORD_TOO_LONG"【发布时间】:2016-09-1906:05:52【问题描述】:来自thisanswer,我创建了:C:\\wamp\\bin\\apache\\apa 查看详情

mysql启用ssl连接

...S或者\\sSSL:CipherinuseisDHE-RSA-AES256-SHA表示客户端已经使用SSL连接客户端无SSL登陆:客户端开启SSL登陆:GRANTALLPRIVILEGESON.TO\'ssluser\'@\'%\'IDENTIFIEDBY\'zdh1234\'REQUIRESSL;本机登陆需要单独新增localhostGRANTALLPRIVILEGESON.TO\'ssluser\'@\'localhost\'IDENTIF... 查看详情

配置spring通过ssl连接mysql

】配置spring通过ssl连接mysql【英文标题】:Configurespringtoconnecttomysqloverssl【发布时间】:2012-12-2506:21:34【问题描述】:我正在从我的Java应用程序通过SSL连接到MySQL。我已将MYSQL配置为支持SSL并生成客户端证书。我已将服务器CA证书... 查看详情

Mysql Workbench 连接 ssl 未启用

】MysqlWorkbench连接ssl未启用【英文标题】:MysqlWorkbenchconnectionsslnotenable【发布时间】:2015-01-2722:19:13【问题描述】:我正在尝试使用mysql工作台连接本地数据库,但我无法连接。我尝试测试连接。它警告弹出窗口写入“sslnotenable... 查看详情

通过 SSL 与 Laravel 的 MySQL 连接

】通过SSL与Laravel的MySQL连接【英文标题】:MySQLconnectionoverSSLwithLaravel【发布时间】:2019-04-0307:27:16【问题描述】:我在Laravel应用程序中通过ssl连接到我的数据库时遇到问题。我的配置如下:\'mysql\'=>[\'driver\'=>\'mysql\',\'host\'=&... 查看详情

mysql加密连接二mysql_ssl_rsa_setup

一、概述MySQL发行版包括一个mysql_ssl_rsa_setup实用程序,可以手动调用该实用程序来生成SSL和RSA文件。此实用程序包含在所有MySQL发行版中,但它确实需要openssl命令可用。由服务器或通过调用mysql_ssl_rsa_setup自动创建的SSL和RSA文件... 查看详情

PHP 到 MySQL SSL 连接

】PHP到MySQLSSL连接【英文标题】:PHPtoMySQLSSLConnections【发布时间】:2010-09-0710:25:20【问题描述】:我已经在一个网络上的一台服务器上成功设置了启用SSL的MySQL安装,并且可以使用SSL和Linux命令行mysql客户端在不同网络上的不同服... 查看详情

SSL 错误 140612029986456:error:140780E5:SSL 是啥意思?

...35【问题描述】:我是tryingtodebug我无法控制的客户端的SSL连接。我发 查看详情

连接到 MySQL 数据库时有关 SSL 连接的警告

】连接到MySQL数据库时有关SSL连接的警告【英文标题】:WarningaboutSSLconnectionwhenconnectingtoMySQLdatabase【发布时间】:2016-03-1508:56:03【问题描述】:通过以下两个类,我尝试连接到MySQL数据库。但是,我总是收到此错误:WedDec0922:46:52C... 查看详情

NodeJS 中的 AWS RDS SSL 连接错误

】NodeJS中的AWSRDSSSL连接错误【英文标题】:ConnectionerrorinAWSRDSSSLinNodeJS【发布时间】:2020-05-1815:14:48【问题描述】:我正在尝试通过带有SSL的LambdaNodeJS12.x连接到RDS。但是我收到这些错误:Error:4506652096:error:1425F102:SSLroutines:ssl_choose_... 查看详情

将 MySQL 连接器与 Python 一起使用时出现 SSL 连接错误

】将MySQL连接器与Python一起使用时出现SSL连接错误【英文标题】:SSLConnectionErrorwhileusingMySQLConnectorwithPython【发布时间】:2019-06-2608:44:23【问题描述】:我在Anaconda的环境中使用Python3.6(但我在Python2.7中遇到相同的错误)和mysql-conn... 查看详情

通过 SSL 的 Spring Boot 远程 Mysql 连接

】通过SSL的SpringBoot远程Mysql连接【英文标题】:SpringBootremoteMysqlConnectionthroughSSL【发布时间】:2018-07-0200:52:39【问题描述】:我有一个远程MySQL数据库服务器,需要与我在本地运行的SpringBoot应用程序连接。在加载SpringBoot应用程序... 查看详情

与 SSL 的 mysql jdbc 连接在 tls 握手级别失败

】与SSL的mysqljdbc连接在tls握手级别失败【英文标题】:mysqljdbcconnectionwithSSLfailsattlshandshakelevel【发布时间】:2019-08-0309:57:05【问题描述】:我们的mysql服务器配置为仅接受与ssl密码DHE-RSA-AES256-GCM-SHA384的连接。我正在使用javamysql-con... 查看详情