我在强迫 MariaDB 在 Debian 8 上使用我的 SSL 证书文件时遇到了麻烦。
Apache2 在 /etc/letsencrypt/* 中的当前文件权限下工作正常 唯一对当前证书有问题的服务是 MariaDB。
我尝试对 /etc/letsencrypt/live/domain/*.pem 中的文件使用 ACL:
setfacl -m "u:mysql:r--" /etc/letsencrypt/live/domain/*.pem
Run Code Online (Sandbox Code Playgroud)
它没有用。在以 mysql 用户身份运行 bash 后,我发现 mysql 用户无法访问 /etc/letsencrypt/live。所以我在实时和域目录上运行了 setfacl。
MariaDB 仍然无法访问这些证书。
所以......在将 .pem 文件复制到 /etc/mysql 并将它们的所有权更改为 mysql:mysql 后,它有点工作。现在我得到:
mysqld[4131]: 180211 0:27:54 [Warning] Failed to setup SSL
mysqld[4131]: 180211 0:27:54 [Warning] SSL error: Unable to get private key
mysqld[4131]: 180211 0:27:54 [Note] Server socket created on IP: 'x.x.x.x'.
mysqld[4131]: 180211 0:27:54 [Note] /usr/sbin/mysqld: ready for connections.
Run Code Online (Sandbox Code Playgroud)
效果如下:
mysql --ssl …Run Code Online (Sandbox Code Playgroud)