MYSQL错误:拒绝用户访问';用户1'@';本地主机';
我正在尝试从我的vertx应用程序连接到mysql。我得到以下错误: io.vertx.mysqlclient.MySQLException:io.vertx.mysqlclient.impl.codec.CommandCodec.handleErrorPacketPayload(CommandCodec.java:116)的io.vertx.mysqlclient.impl.codec.InitCommandCodec.decodeInit1(InitCommandCodec.java:177)的io.vertx.mysqlclient.MySQLException用户“user1”@'localhost”(使用密码:YES)的访问被拒绝 代码如下:MYSQL错误:拒绝用户访问';用户1'@';本地主机';,mysql,vert.x,Mysql,Vert.x,我正在尝试从我的vertx应用程序连接到mysql。我得到以下错误: io.vertx.mysqlclient.MySQLException:io.vertx.mysqlclient.impl.codec.CommandCodec.handleErrorPacketPayload(CommandCodec.java:116)的io.vertx.mysqlclient.impl.codec.InitCommandCodec.decodeInit1(InitCommandCodec.java:177
MySQLConnectOptions connectOptions = new MySQLConnectOptions()
.setPort(3306)
.setHost("localhost")
.setDatabase("bookstore")
.setUser("user1")
.setPassword("pass123");
// Pool options
PoolOptions poolOptions = new PoolOptions()
.setMaxSize(5);
// Create the client pool
MySQLPool client = MySQLPool.pool(Vertx.vertx(),connectOptions, poolOptions);
// A simple query
client.query("SELECT * FROM country WHERE name='julien'",ar->
{
if(ar.succeeded())
{
RowSet result = ar.result();
System.out.println("Got " + result.size() + " rows ");
} else {
ar.cause().printStackTrace();
System.out.println("Failure: " + ar.cause().getMessage());
}
// Now close the pool
client.close();
});
}
尽管我能够使用相同的凭据连接到工作台中的sql server。
请有人帮助理解这个问题。要么您发送了错误的密码,要么
user1@localhost
尚未被授予对书店
数据库的权限。我已将所有权限授予user1。但它仍然不起作用。我是否可以在日志中打印出问题的具体内容?@Barmar这些是对用户1的授权:将书店
*上的所有权限授予用户1
@本地主机
授予使用权限。对user1
@localhost
查看存在错误的整个类可以帮助更好地调试。-确保传入的Vertx实例MySQLPool.pool
是类中使用的的的Vertx实例。您可以尝试MySQLPool.pool(getVertx()…
)-其他一些尝试是使用IP地址(而不是本地主机)访问.setHost()
对于我来说,vertx 4.1和mysql 8也存在同样的问题。所有选项都设置正确,但我仍然遇到拒绝访问错误。我的Spring Boot应用程序和普通jdbc驱动程序能够使用所有相同的设置连接到db。我甚至将setSSLMode设置为false,但仍然存在此问题