开发时遇到的bug,重启电脑就连不上数据库了,需要用数据库连接工具连接一次才行;
整理了以下方法,希望能有所帮助;
"Public Key Retrieval is not allowed" 错误通常在使用JDBC连接到MySQL数据库时出现,这是因为服务器配置不允许获取用于SSL/TLS加密所需的公钥。
要解决这个问题,您可以尝试以下解决方案:
- 禁用SSL/TLS:如果连接不需要SSL/TLS加密,可以在JDBC URL末尾添加
useSSL=false。例如:
String url = "jdbc:mysql://localhost:3306/database?useSSL=false";
这将禁用SSL/TLS,允许连接在不需要公钥检索的情况下进行。
- 如果在JDBC URL 中添加了 useSSL=false 参数仍然无法解决问题,可以尝试将 allowPublicKeyRetrieval=true 参数添加到JDBC URL 中。这个参数可以允许在 SSL/TLS 连接期间检索公钥。
例如:
String url = "jdbc:mysql://localhost:3306/database?useSSL=false&allowPublicKeyRetrieval=true";
将URL中的 database 替换为要连接的实际数据库名称。
请注意,确保在URL中正确设置参数,并使用适当的连接字符串格式。