我在我的ubunutu 18.04 lts系统上安装了mariadb。
我有一个没有问题的备份脚本,但是在更新的某个地方,它停止了工作,但是我一开始没有注意到,因为当备份已经可靠地工作了很长时间后,谁会监视它们。
但是现在我注意到备份已经停止工作,当我试图模拟backup命令的开始时,我得到了错误:
错误2026 (HY000):SSL连接错误:证书链中的自签名证书
使用我以前使用过的没有问题的命令,突然出现了一个错误。
$ mysql -u root -p################################ -N -e 'show databases'
ERROR 2026 (HY000): SSL connection error: self signed certificate in certificate chain`
即使我做了一个简单的登录,我也会得到同样的错误。
$ mysql -u root -p
Enter password:
ERROR 2026 (HY000): SSL connection error: self signed certificate in certificate chain
几个月前,我对通过命令行在服务器上运行mysql没有任何问题。某些地方的更新一定改变了这一点,但我不知道是什么改变了它。
我真的不能用mysql执行任何有意义的命令,除非它对证书链犹豫不决。
我的版本:
$ 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种更新可用。
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
# 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
当我核实证书的时候,他们就出来了。
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年的一个问题。
发布于 2020-03-04 12:16:39
最后,这是最常见的错误。人类,更确切地说是我。
以前,我对来自my.cnf的客户端证书进行了注释,但不知怎么忽略了对根证书的注释。
[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更加宽容。
[mysql]
#ssl-ca=/etc/mysql/ssl/ca.pem
#ssl-cert=/etc/mysql/ssl/client-cert.pem
#ssl-key=/etc/mysql/ssl/client-key.pem
https://serverfault.com/questions/1005445
复制相似问题