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

问题描述

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

  • 我安装了 MysqL 连接器/C++
  • 我安装了 MysqL XDevAPI
  • 我安装了 XAMPP 并将其设置为运行 MysqL 服务器
  • 我在 PHPMyAdmin 中创建了一个包含一些表的数据库
  • 链接了连接器/C++ 和 MysqL 服务器库并包含在我的 C++ 项目中
  • 然后我添加了以下代码
total = 0

我在端口 33060 上尝试过,因为我被告知这是认设置,我在端口 3306 上尝试过,因为它说端口在 XAMPP 上。

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

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

解决方法

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

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

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

免责声明:我是 Node.js 的 MySQL X DevAPI 连接器的首席开发人员