为了解决这个问题,我花了大约三天的时间。
(编辑:这是一种测试方法,实际上不是解决方案。)
最初,我开始尝试通过为mysql配置我自己的SSL来解决问题,并且在此上花费了很多时间。直到我意识到配置它与Cmake和C
++有关,已经花费了太多时间,这使我放弃了。真令人沮丧。但是,我没有放弃,而是尝试通过一种尚未发现的方法完全禁用SSL。我最终找到了方法。这里是:
- 您必须为MySQL使用旧密码。遗留密码是MySQL在5.7x版中对事物进行身份验证的方式。
再次打开MySQL安装程序,然后重新配置MySQL Server设置。当您到达那里时,将看到以下屏幕:
您应该进入的屏幕
到达重新配置的最后阶段时,您可能会遇到一些错误:
在最后阶段我遇到了问题,我不知道如何解决,所以我完全卸载了MySQL。我用窗户。我从“程序文件”中删除了MySQL项目的根目录,以卸载MySQL。我还删除了保存在程序数据(C盘中的隐藏文件夹)中的数据库,因为我想重新启动(警告:这将删除您以前保存的所有数据!)。从控制面板上卸载MySQL可能不足以从您的计算机上完全删除MySQL。
- 删除C: ProgramData MySQL MySQL Server 8.0 Data中的所有* .pem文件。(或将其移动到其他地方,这是我所做的)
您可能在C驱动器中看不到ProgramData。那是因为它是一个隐藏的文件夹。为了查看隐藏的文件夹:
在控制面板中搜索文件夹选项。
去查看。
在“高级设置”下以及该文件的“隐藏文件和文件夹”下,单击“显示隐藏的文件,文件夹和驱动器”。
- 转到C: ProgramData MySQL MySQL Server 8.0并打开my.cnf(或my.ini)。在[mysqld]之后添加以下行:
ssl = 0
然后保存。现在应该可以工作了。
参考文献:
- https://community.atlassian.com/t5/Confluence-questions/MySQL-Public-Key-Retrieval-is-not-allowed/qaq-p/778956
- https://scalegrid.io/blog/configuring-and-managing-ssl-on-your-mysql-server/



