mariadb-java-client抛出的访问在MySQL8.0上被拒绝,但在MySQL5.6上可以工作,所以我想知道mariadb client是否与MySQL8.0兼容
>
在mysql中,测试用户被设置为主机限制机器=%
即使在MySQL8.0的机器上测试,同样的访问被拒绝错误。
Caused by: java.sql.SQLException: Access denied for user 'user1'@'192.168.238.1' (using password: NO)
Current charset is UTF-8. If password has been set using other charset, consider using option 'passwordCharacterEncoding'
Connection connection = DriverManager.getConnection("jdbc:mariadb://192.168.0.2:3306/test", "user1", "admin@123");
Statement stmt = connection.createStatement();
stmt.executeUpdate("CREATE TABLE a (id int not null primary key, value varchar(20))");
stmt.executeUpdate("DROP TABLE a");
stmt.close();
connection.close();
mysql 5.6和8.0上的用户名和密码相同
>
成功:“mariadb-java-client",版本:”2.3.0“,mysql 5.6
失败:“mariadb-java-client”,版本:“2.3.0”,mysql 8.0
MySQL8使用caching_sha2_password而不是mysql_native_password(从MySQL5.7(和MariaDB)开始)。
“caching_sha2_password,从MySQL 8.0起,它是首选身份验证插件,也是默认身份验证插件,而不是mysql_native_password。此更改会影响服务器和libmysqlclient客户端库:”
https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previor-series.html#upgrade-caching-sha2-password
MariaDB的Java连接器还没有实现这一点,但已经分配了一个任务:
https://jira.mariadb.org/browse/conj-663
为了连接到MySQL8,您必须使用Oracle连接器(另一个支持更改的连接器),或者等待MariaDB实现。
因此,当我尝试从Java代码连接到MySQL数据库时,我收到错误的访问被拒绝。我所能找到的一切都没有解决问题,代码是非常基本的。我以前在项目中用过,在很多教程中都发现它是那样的。所以首先相关代码: 注意:我可以很好地登录到MySQL workbench中的DB中,并在那里做所有的事情,从创建/更改表到插入等等。 那么我做了什么来解决这个问题:它让我想知道为什么它没有声明哪个用户被拒绝了注意它声明“
问题内容: 我是MySQL的新手,我想在Windows桌面上运行WordPress,它需要MySQL。 我安装了Microsoft提供的所有内容。我从来没有为MySQL设置过root密码,在安装WordPress的最后一步中,它要求输入MySQL服务器密码。 root的默认密码是多少(如果有的话)以及如何更改它? 我试过了: 但是它显示了我: 在此之后,我尝试: 但是,它要求输入我没有的密码。 更
我正在使用PHP amd mysql(XAMPP)。我正在尝试使用 PDO 将我的 php 文件与数据库连接。但它显示以下错误。(mysql_query():用户“root”@“localhost”的访问被拒绝(使用密码:NO))。我不知道的问题是什么。我是第一次使用 PDO。请任何人告诉我问题是什么,解决方案是什么。这是我的代码。
我无法在xampp中连接到我的MySQL,我出现以下错误:
我的application.properties文件: spring.datasource.url=jdbc:mysql:/localhost:3306/appautorreconnect=true&usessl=false spring.datasource.data-username=myusername spring.jpa.properties.hibernate.dialecto=org
我试图将我的项目部署到AWS EC2服务器上,但是当我试图运行时,我得到了以下错误。