mysql-connector-c++ 8.0 连接被拒绝

mysql-connector-c++ 8.0 connection refused

我在使用 mysql-connector-c++ 8.0 后遇到了很大的困难,现在我输入的 uri 与他们在文档中提到的一样,但连接被拒绝。

文档怎么说:

Client cli("user:password@host_name/db_name", ClientOption::POOL_MAX_SIZE, 7);

我的代码:

_mysql_client = std::make_unique<mysqlx::Client>("mysqlx://root:asdasd@localhost/asdasd");

    try {
        mysqlx::Session s = _mysql_client->getSession();
        CoreLog->info("Successfully connected to mysql server on {}.", conn_uri);
    } catch (const mysqlx::Error &err) {
        CoreLog->info("Could not connect to mysql server on {} due to {}.", conn_uri, err.what());
    }

我收到这个错误

[20:34:36.993] Core: Could not connect to mysql server on root:asdasd@localhost/asdasd due to CDK Error: Connection refused (generic:61).

这里有什么问题?

mysqlx::Client 用于连接到新的 Mysql X 协议。这会侦听不同的端口(默认为 33060 而不是 3306),这是 "connection refused" 消息的原因。

您需要安装并启用 Mysql 协议 X 插件。有关说明,请参阅 https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-install.html