gpt4 book ai didi

java - caching_sha2_password 连接被外部主机关闭

转载 作者:行者123 更新时间:2023-11-29 17:32:08 24 4
gpt4 key购买 nike

我在 docker 中使用 url 创建 mysql 容器:

jdbc:mysql://172.17.0.2:3306/'databaseName'

172.17.0.2是docker容器的IP地址。我使用以下命令创建用户:

 CREATE USER 'saman'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'saman'@'%' WITH GRANT OPTION;

当我想从 intllje Ide 连接时,我连接成功,但是当我想从我的 java 应用程序连接时,我得到了异常:

 Caused by: com.mysql.cj.core.exceptions.WrongArgumentException: Unable 
to load authentication plugin 'caching_sha2_password'

我还将 mysql 用户中的默认身份验证密码从 caching_sha2_password 更改为 mysql_native_password 。有关使用 telnet 命令时的更多信息:

telnet 172.17.0.2 3306 return:caching_sha2_passwordConnection closed by foreign host.

最佳答案

终于我找到了我的问题的解决方案。我连接到 mysql 命令行并运行以下查询:

alter user 'saman'@'%' identified with mysql_native_password by 'password';

然后在 phpmyadmin 中,异常消失了。您可以使用以下命令检查上述查询的结果:

select user,host,authentication_string,plugin from mysql.user;

并且您必须在“saman”用户前面看到mysql_native_password

关于java - caching_sha2_password 连接被外部主机关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50552319/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com