📅  最后修改于: 2023-12-03 15:17:46.097000             🧑  作者: Mango
MySQL Public Key Retrieval is not allowed是一个MySQL连接错误,通常发生在MySQL用户尝试通过TLS协议连接到MySQL服务器时。错误提示为“Public Key Retrieval is not allowed”,这意味着MySQL客户端试图从服务器中检索SSL证书,但服务器禁止这样的行为。
通常情况下,MySQL服务器会储存SSL证书以加密敏感数据的传输。客户端连接时,MySQL服务器会通过向客户端发送SSL证书,使客户端能够在连接密钥协商期间验证服务器的身份。然而,在某些情况下,MySQL服务器可能配置为禁止从服务器检索SSL证书,这可能会导致mysql Public Key Retrieval is not allowed错误。
解决mysql Public Key Retrieval is not allowed错误的方法有以下几种:
为解决此错误,用户可以通过修改MySQL连接方式,将其更改为基于密钥文件的连接方式。这将使连接不必从MySQL服务器检索SSL证书。
可以在MySQL命令行或cnf文件中添加以下内容,以实现基于密钥文件的连接方式:
[client]
ssl-key=/path/to/client-key.pem
ssl-cert=/path/to/client-cert.pem
ssl-ca=/path/to/ca-cert.pem
其中:
在MySQL服务器上修改my.cnf文件可启用Public Key检索。可以按以下方式进行编辑:
[mysqld]
…
ssl-ca=/path/to/ca-cert.pem
require_secure_transport=ON
其中:
这将允许客户端检索MySQL服务器上的SSL证书。
如果无法更改MySQL连接方式或允许Public Key检索,则可以考虑使用不使用SSL证书的非TLS连接。
MySQL客户端可以在不使用SSL证书的情况下连接MySQL服务器。可以通过将“--ssl-mode = DISBALE”添加到mysql命令行或使用以下配置关闭SSL连接:
[client]
ssl-mode=DISABLED
这将禁用MySQL客户端的SSL连接功能。
mysql Public Key Retrieval is not allowed通常发生在MySQL用户尝试通过TLS协议连接到MySQL服务器时。我们可以通过更改连接方式或在MySQL服务器上启用Public Key来解决此错误。如果无法实现,则可以关闭SSL连接或使用不带SSL证书的非TLS连接。