首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL不使用我的证书,而是使用它自己的自签名。

MySQL不使用我的证书,而是使用它自己的自签名。
EN

Server Fault用户
提问于 2021-08-08 16:30:19
回答 1查看 1.7K关注 0票数 3

我试图找出答案,结果却空空如也。

我有一个来自LetsEncrypt的证书,用于我所有的SSL需求。它对我试图使用的所有DNS名称都是有效的。今天我试着让它在MySQL上工作,但是MySQL坚持使用它自己签署的证书。

Ubuntu包的MySQL版本是8.0.26-0ubuntu0.20.04.2。

我创建了/etc/mysql/mysql.conf,其中包含以下内容:

代码语言:javascript
复制
[mysqld]
ssl-ca=/etc/ssl/certs/local/mainchain.pem
ssl-cert=/etc/mysql/cert.pem
ssl-key=/etc/mysql/cert.pem
[system_default_sect]
MinProtocol = TLSv1.2

但是日志上说:

代码语言:javascript
复制
2021-08-08T16:16:57.982003Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1 is enabled for channel mysql_main
2021-08-08T16:16:57.982227Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1.1 is enabled for channel mysql_main
2021-08-08T16:16:57.983344Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.

我试着删除/var/lib/mysql/*..pem.但是当我重新启动mysql时,所有这些文件都会带着更新的时间戳返回。MySQL似乎决心使用自己的自签名证书,而不是我配置的证书。我想我错过了一些应该很明显但不是很明显的东西。

在我的配置中引用的/etc/mysql/cert.pem文件属于mysql:mysql,具有0600权限。它是我用于其他一切的证书文件的副本,它包含服务器证书、私钥和LetsEncrypt颁发证书。

EN

回答 1

Server Fault用户

发布于 2021-08-08 16:45:44

我终于弄明白了。配置文件必须具有.cnf文件扩展名,否则mysql将忽略它们。一旦修复了这个问题,我就遇到了一个权限问题--我将cert文件分割成三个单独的文件,但是其他两个文件属于root:root。一旦我修好了,一切都正常了。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1073901

复制
相关文章

相似问题

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