MySQL 8.0 C API Developer Guide
void mysql_reset_server_public_key(void)
          Clears from the client library any cached copy of the public
          key required by the server for RSA key pair-based password
          exchange. This might be necessary when the server has been
          restarted with a different RSA key pair after the client
          program had called
          mysql_options() with the
          MYSQL_SERVER_PUBLIC_KEY option to specify
          the RSA public key. In such cases, connection failure can
          occur due to key mismatch. To fix this problem, the client can
          use either of the following approaches:
        
              The client can call
              mysql_reset_server_public_key()
              to clear the cached key and try again, after the public
              key file on the client side has been replaced with a file
              containing the new public key.
            
              The client can call
              mysql_reset_server_public_key()
              to clear the cached key, then call
              mysql_options() with the
              MYSQL_OPT_GET_SERVER_PUBLIC_KEY option
              (instead of MYSQL_SERVER_PUBLIC_KEY) to
              request the required public key from the server Do not use
              both MYSQL_OPT_GET_SERVER_PUBLIC_KEY
              and MYSQL_SERVER_PUBLIC_KEY because in
              that case, MYSQL_SERVER_PUBLIC_KEY
              takes precedence.