MySQL OpenSSL – error 18 at 0 depth lookup: self signed certificate错误
在使用MySQL的过程中,可能会遇到 “error 18 at 0 depth lookup: self signed certificate” 的错误提示。这个错误通常出现在使用OpenSSL认证时,MySQL连接了自签名的证书。
这个错误是因为MySQL客户端并不信任自签名的证书,需要手动将其添加到信任列表中。
下面是解决这个问题的步骤:
阅读更多:MySQL 教程
步骤1:找到自签名证书的位置
首先,需要找到自签名证书的位置。可以使用以下命令查看MySQL命令行工具中当前使用的证书信息:
mysql -u<username> -p<password> --ssl-ca=<path_to_cert_file> --ssl-verify-server-cert
其中,<path_to_cert_file>
是自签名证书的路径。
步骤2:将自签名证书添加到信任列表中
接下来,需要将自签名证书添加到系统的信任列表中。
在Ubuntu系统中,可以使用以下命令将证书添加到系统信任列表:
sudo cp <path_to_cert_file> /usr/local/share/ca-certificates/<name_of_cert>.crt
sudo update-ca-certificates
在CentOS系统中,可以使用以下命令将证书添加到系统信任列表:
sudo cp <path_to_cert_file> /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust
步骤3:重新连接MySQL
最后,重新连接MySQL,并使用以下命令验证证书是否被信任:
mysql -u<username> -p<password> --ssl-ca=<path_to_cert_file> --ssl-verify-server-cert
如果没有出现错误信息,证明自签名证书已经被信任。
总结
在使用MySQL时,如果出现 “error 18 at 0 depth lookup: self signed certificate” 的错误提示,可以按照上面的步骤来解决。记住要将自签名证书添加到系统的信任列表中,以避免类似的错误出现。