在MySQL中,allowPublicKeyRetrieval=true是一个连接属性,用于指示是否允许从服务器获取公钥。当使用MySQL 8.0版本或更高版本的JDBC驱动程序连接时,allowPublicKeyRetrieval默认为false,并且需要将其设置为true才能在启用SSL的情况下进行连接。
要配置MySQL以允许公钥检索,请按照以下步骤操作:
- 打开my.cnf文件(通常位于/etc/my.cnf或/usr/local/mysql/my.cnf)。
- 在[mysqld]区域中添加以下行:
ssl-mode=REQUIRED
tls-version=TLSv1.2
- 保存并关闭my.cnf文件。
- 重新启动MySQL服务。
完成以上步骤后,您可以在连接字符串中设置allowPublicKeyRetrieval=true,以在与MySQL数据库的SSL连接中检索公钥。例如:
jdbc:mysql://localhost:3306/dbname?useSSL=true&requireSSL=true&verifyServerCertificate=false&allowPublicKeyRetrieval=true