在使用 XAMPP 到 运行 MySQL 的同时,如何使用 MySQL Connector/C++ 和 XDevAPI?

How do you use the MySQL Connector/C++ and XDevAPI while using XAMPP to run MySQL?

我试图在我的 C++ 代码中访问 MySQL 数据库。我觉得我可能在这个过程中搞砸了一些事情,所以我将概述我采取的步骤和我的设置:

#include <mysqlx/xdevapi.h>
#include <iostream>
using namespace mysqlx;

int main() {
    try {
        Session sess(33060, "user", "password");
    }
    catch (const Error & err) {
        std::cout << err << std::endl;
        exit(1);
    }

    return 0;
}

我在端口 33060 上尝试过,因为有人告诉我这是默认端口,我在端口 3306 上尝试过,因为它说端口在 XAMPP.

使用第一个会给出此错误消息:“CDK 错误:无法建立连接,因为目标机器主动拒绝它。(winsock:10061)” 使用第二个会给出此错误消息:“CDK 错误:意外消息”

我怀疑可能有问题的一件事是 MySQL 服务器和 C++ 连接器文件在我的 C 驱动器上的程序文件中,而 XAMPP 似乎有一组不同的MySQL 个文件在我的 D 盘上的安装文件夹中。我是否以某种方式结束了 MySQL 的 2 个单独安装,或者是否还有其他我无法理解的事情?如果是这样我该如何处理?

据我所知,XAMPP 现在基于 MariaDB 而不是 MySQL。 MySQL X DevAPI 连接器使用 MariaDB 上不可用的 X 协议(端口 33060,默认情况下,在 MySQL 服务器实例上)。

MariaDB 支持经典 MySQL 协议(端口 3306),但您不能通过该协议使用 X DevAPI 客户端。

因此,要么找到使用 MySQL 8.x 服务器的方法,要么需要经典协议 connector

免责声明:我是 MySQL X DevAPI Connector for Node.js

的首席开发人员