使用mysql-cpp连接器连接到本地数据库

Connecting to a local database using mysql-cpp-connector

本文关键字:数据库 连接 mysql-cpp 连接器 使用      更新时间:2024-09-23

简介

我是在c++中使用mysql的新手,一直在尝试使用mysqlcppconnector连接到我的本地数据库。经过大量的努力,我已经成功地链接了这些库。(这对我来说并不简单(

准备

我正在使用以下代码连接到本地运行的数据库。

#include <mysqlx/xdevapi.h>
void make_db_connection() {
mysqlx::Session sess("localhost", 33060, "mudrex", "mudrex");
mysqlx::Schema db= sess.getSchema("mudrex");
// or Schema db(sess, "test");
mysqlx::Collection myColl = db.getCollection("user_api_key_map");
// or Collection myColl(db, "my_collection");
mysqlx::DocResult myDocs = myColl.find("user_id")
.limit(1)
.bind("user_id","L%").execute();
cout << myDocs.fetchOne()<<endl;
}

错误

当我调用上述函数时,我得到以下错误:

libc++abi.dylib: terminating with uncaught exception of type mysqlx::abi2::r0::Error: CDK Error: Connection refused (generic:61)
Abort trap: 6

如有任何帮助,我们将不胜感激。谢谢你抽出时间。

mysqlx::Session用于连接MySQL X协议。错误:拒绝连接是端口33060缺少侦听器的第一个提示。您需要安装并启用MySQL Shell,它支持X协议并使您能够使用X DevAPI。看见https://dev.mysql.com/doc/mysql-shell/en/mysql-shell-install.html以获取说明。