首页 > 解决方案 > MYSQL 错误:用户 'user1'@'localhost' 的访问被拒绝

问题描述

我正在尝试从我的 vertx 应用程序连接到 mysql。我收到以下错误:

io.vertx.mysqlclient.MySQLException:在 io.vertx 的 io.vertx.mysqlclient.impl.codec.CommandCodec.handleErrorPacketPayload(CommandCodec.java:116) 的用户 'user1'@'localhost' 的访问被拒绝(使用密码:YES) .mysqlclient.impl.codec.InitCommandCodec.decodeInit1(InitCommandCodec.java:177) 在 io.ve

代码如下:

    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 服务器。有人可以帮助理解这个问题。

标签: mysqlvert.x

解决方案


推荐阅读