Documentation Home
MySQL 8.0 C API 开发者指南  / 第 5 章 C API 基本接口  / 5.4 C API 基本功能说明  /  5.4.66 mysql_reset_server_public_key()

5.4.66 mysql_reset_server_public_key()

void
mysql_reset_server_public_key(void)

描述

从客户端库中清除服务器为基于 RSA 密钥对的密码交换所需的任何公钥缓存副本。如果在客户端程序调用指定 RSA 公钥mysql_options()的 选项后使用不同的 RSA 密钥对重新启动服务器,则这可能是必需的 。MYSQL_SERVER_PUBLIC_KEY在这种情况下,可能会因密钥不匹配而导致连接失败。要解决此问题,客户端可以使用以下任一方法:

  • mysql_reset_server_public_key() 在客户端的公钥文件被包含新公钥的文件替换后, 客户端可以调用 清除缓存的密钥并重试。

  • 客户端可以调用 mysql_reset_server_public_key() 以清除缓存的密钥,然后 mysql_options()使用 MYSQL_OPT_GET_SERVER_PUBLIC_KEY选项(而不是MYSQL_SERVER_PUBLIC_KEY)调用以从服务器请求所需的公钥不要同时使用两者MYSQL_OPT_GET_SERVER_PUBLIC_KEYMYSQL_SERVER_PUBLIC_KEY因为在这种情况下,MYSQL_SERVER_PUBLIC_KEY 优先。

返回值

没有任何。

错误

没有任何。