在使用 XAMPP 到 运行 MySQL 的同时,如何使用 MySQL Connector/C++ 和 XDevAPI?
How do you use the MySQL Connector/C++ and XDevAPI while using XAMPP to run MySQL?
我试图在我的 C++ 代码中访问 MySQL 数据库。我觉得我可能在这个过程中搞砸了一些事情,所以我将概述我采取的步骤和我的设置:
- 我安装了MySQLConnector/C++
- 我安装了 MySQL XDevAPI
- 我安装了 XAMPP 并将其设置为 运行 一个 MySQL 服务器
- 我在 phpMyAdmin 中创建了一个包含一些表的数据库
- 我链接了 Connector/C++ 和 MySQL 服务器库并包含在我的 C++ 项目中
- 然后我添加了以下代码:
#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
的首席开发人员
我试图在我的 C++ 代码中访问 MySQL 数据库。我觉得我可能在这个过程中搞砸了一些事情,所以我将概述我采取的步骤和我的设置:
- 我安装了MySQLConnector/C++
- 我安装了 MySQL XDevAPI
- 我安装了 XAMPP 并将其设置为 运行 一个 MySQL 服务器
- 我在 phpMyAdmin 中创建了一个包含一些表的数据库
- 我链接了 Connector/C++ 和 MySQL 服务器库并包含在我的 C++ 项目中
- 然后我添加了以下代码:
#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
的首席开发人员