将数据导入MySQL时出现公钥检索问题的解决方法

问题现象描述

将数据导入MySQL时出现公钥检索问题,并提示“Public Key Retrieval is not allowed”。

关键过程、根本原因分析

当MySQL 8.0使用caching_sha2_password插件进行身份验证时,需要使用公钥进行加密,MySQL客户端(例如Connector)需要能够检索该公钥。如果客户端未正确配置以允许公钥检索,将导致该问题。

结论、解决方案及效果

配置客户端连接选项,启用公钥检索:

  1. 打开my_mysql.properties文件。

    1
    vi my_mysql.properties
    

  2. 按“i”进入编辑模式,为文件中的“jdbc”配置添加以下参数。

    1
    allowPublicKeyRetrieval=true
    

    添加完成后如下图所示。

  3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  4. 重新执行加载数据命令。

    1
    ./runDatabaseBuild.sh my_mysql.properties