我目前正在尝试在我的 mysql 5.7.25 服务器上设置 SSL。我使用以下命令启动该过程:
sudo mysql_ssl_rsa_setup --uid=mysql
当我检查 SSL 时,我得到以下输出:
mysql> SHOW VARIABLES LIKE '%ssl%';
+---------------+--------------------------------+
| Variable_name | Value |
+---------------+--------------------------------+
| have_openssl | DISABLED |
| have_ssl | DISABLED |
| ssl_ca | /var/lib/mysql/cacert.pem |
| ssl_capath | |
| ssl_cert | /var/lib/mysql/server-cert.pem |
| ssl_cipher | |
| ssl_crl | |
| ssl_crlpath | |
| ssl_key | /var/lib/mysql/server-key.pem |
+---------------+--------------------------------+
9 rows in set (0.00 sec)
这是我的 error.log 的输出:
2019-03-15T19:23:22.155381Z 0 [Warning] Failed to set up SSL because of the following SSL library error: SSL_CTX_set_default_verify_paths failed
2019-03-15T19:23:22.155397Z 0 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
以下是我的 .pem 文件的权限:
-rw------- 1 mysql mysql 1675 Mar 15 19:22 ca-key.pem
-rw-r--r-- 1 mysql mysql 1107 Mar 15 19:22 ca.pem
-rw-r--r-- 1 mysql mysql 1107 Mar 15 19:22 client-cert.pem
-rw------- 1 mysql mysql 1679 Mar 15 19:22 client-key.pem
-rw------- 1 mysql mysql 1679 Feb 26 19:51 private_key.pem
-rw-r--r-- 1 mysql mysql 451 Feb 26 19:51 public_key.pem
-rw-r--r-- 1 mysql mysql 1107 Mar 15 19:22 server-cert.pem
-rw------- 1 mysql mysql 1675 Mar 15 19:22 server-key.pem
我读过一些其他帖子,它们指责 SELinux,但我没有启用它。其他一些帖子提到了 apparmor,但我的 /var/lib/mysql 目录在那里具有读取权限。
真的不知道还能尝试什么,所以非常感谢任何意见!
答案1
我最终卸载了 MySQL,重新安装,并按照相同的步骤操作。不知道为什么,但这样做很好。