首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法通过命令行连接mysql,证书链中的自签名证书

无法通过命令行连接mysql,证书链中的自签名证书
EN

Server Fault用户
提问于 2020-03-03 16:29:05
回答 1查看 2.1K关注 0票数 1

我在我的ubunutu 18.04 lts系统上安装了mariadb。

我有一个没有问题的备份脚本,但是在更新的某个地方,它停止了工作,但是我一开始没有注意到,因为当备份已经可靠地工作了很长时间后,谁会监视它们。

但是现在我注意到备份已经停止工作,当我试图模拟backup命令的开始时,我得到了错误:

错误2026 (HY000):SSL连接错误:证书链中的自签名证书

使用我以前使用过的没有问题的命令,突然出现了一个错误。

代码语言:javascript
运行
复制
$ mysql -u root -p################################ -N -e 'show databases'
ERROR 2026 (HY000): SSL connection error: self signed certificate in certificate chain`

即使我做了一个简单的登录,我也会得到同样的错误。

代码语言:javascript
运行
复制
$ mysql -u root -p
Enter password:
ERROR 2026 (HY000): SSL connection error: self signed certificate in certificate chain

几个月前,我对通过命令行在服务器上运行mysql没有任何问题。某些地方的更新一定改变了这一点,但我不知道是什么改变了它。

我真的不能用mysql执行任何有意义的命令,除非它对证书链犹豫不决。

我的版本:

代码语言:javascript
运行
复制
$ mysql -V
mysql  Ver 15.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

当我用安装的证书从我的工作机器连接到服务器时,我没有连接到数据库的问题。因此,证书适用于mysql服务器。这似乎是一个纯粹的命令行mysql问题。

我已经更新了apt-get和apt中的所有内容,有0种更新可用。

代码语言:javascript
运行
复制
Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-88-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Tue Mar  3 16:20:40 GMT 2020

  System load:  0.89             Processes:           209
  Usage of /:   5.5% of 3.58TB   Users logged in:     0
  Memory usage: 12%              IP address for eth0: ###.###.###.###
  Swap usage:   0%


 * Canonical Livepatch is available for installation.
   - Reduce system reboots and improve kernel security. Activate at:
     https://ubuntu.com/livepatch

0 packages can be updated.
0 updates are security updates.

/etc/mysql/my.cnf

代码语言:javascript
运行
复制
# MariaDB-specific config file.
# Read by /etc/mysql/my.cnf

[client]
# Default is Latin1, if you need UTF-8 set this (also in server section)
#default-character-set = utf8
#ojiaergoijboij = halksjd
#nduks =- ksjdfljsd

[mysql]
ssl-ca=/etc/mysql/ssl/ca.pem
#ssl-cert=/etc/mysql/ssl/client-cert.pem
#ssl-key=/etc/mysql/ssl/client-key.pem


[mysqld]
#
# * Character sets
#
# Default is Latin1, if you need UTF-8 set all this (also in client section)
#
#character-set-server  = utf8
#collation-server      = utf8_general_ci
#character_set_server   = utf8
#collation_server       = utf8_general_ci
# Import all .cnf files from configuration directory
!includedir /etc/mysql/mariadb.conf.d/
innodb_flush_log_at_trx_commit=2
innodb_file_per_table=1
innodb_buffer_pool_size=8G
thread_cache_size=10
skip-name-resolve
#query_cache_type=1
#query_cache_limit=256k
#query_cache_min_res_unit=2k
#query_cache_size=80M
tmp_table_size=256M
max_heap_table_size=256M
query_cache_size=0
query_cache_type=0

ssl
ssl-ca=/etc/mysql/ssl/ca-cert.pem
ssl-cert=/etc/mysql/ssl/server-cert.pem
ssl-key=/etc/mysql/ssl/server-key.pem

当我核实证书的时候,他们就出来了。

代码语言:javascript
运行
复制
openssl verify -CAfile /etc/mysql/ssl/ca-cert.pem /etc/mysql/ssl/server-cert.pem /etc/mysql/ssl/client-cert.pem
/etc/mysql/ssl/server-cert.pem: OK
/etc/mysql/ssl/client-cert.pem: OK

在/var/ mail /root中有新邮件

这是我可以用mysql标志解决的问题吗?还是我需要在openSSL设置中解决这个问题?

我试过谷歌搜索,但最接近我能找到的症状是2012年的一个问题。

EN

回答 1

Server Fault用户

发布于 2020-03-04 12:16:39

最后,这是最常见的错误。人类,更确切地说是我。

以前,我对来自my.cnf的客户端证书进行了注释,但不知怎么忽略了对根证书的注释。

代码语言:javascript
运行
复制
[mysql]
ssl-ca=/etc/mysql/ssl/ca.pem
#ssl-cert=/etc/mysql/ssl/client-cert.pem
#ssl-key=/etc/mysql/ssl/client-key.pem

这触发了错误。

错误2026 (HY000):SSL连接错误:证书链中的自签名证书

通过注释根证书,解决了问题。也许之前版本的mariadb更加宽容。

代码语言:javascript
运行
复制
[mysql]
#ssl-ca=/etc/mysql/ssl/ca.pem
#ssl-cert=/etc/mysql/ssl/client-cert.pem
#ssl-key=/etc/mysql/ssl/client-key.pem
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1005445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档