以下是一个使用C++通过HAProxy连接TiDB的示例代码:
#include <iostream>
#include <mysql_driver.h>
#include <mysql_connection.h>
int main() {
sql::mysql::MySQL_Driver *driver;
sql::Connection *con;
// 创建MySQL驱动对象
driver = sql::mysql::get_mysql_driver_instance();
try {
// 建立与HAProxy的连接
con = driver->connect("tcp://haproxy_ip:haproxy_port", "username", "password");
// 选择要连接的数据库
con->setSchema("database_name");
// 执行SQL查询
sql::Statement *stmt;
sql::ResultSet *res;
stmt = con->createStatement();
res = stmt->executeQuery("SELECT * FROM table_name");
// 处理查询结果
while (res->next()) {
std::cout << res->getString("column1") << ", " << res->getInt("column2") << std::endl;
}
delete res;
delete stmt;
} catch (sql::SQLException &e) {
std::cout << "MySQL error: " << e.what() << std::endl;
}
// 关闭数据库连接
if (con) {
delete con;
}
return 0;
}
在上面的示例中,你需要将haproxy_ip替换为实际的HAProxy服务器IP地址,haproxy_port替换为实际的HAProxy监听端口号,username和password替换为用于连接TiDB的凭据信息。然后,你可以根据需要修改数据库名称、表名和SQL查询语句。
请注意,此示例使用了MySQL Connector/C++库来连接和操作TiDB数据库。你需要在编译时确保链接了MySQL Connector/C++库,并且包含了相关头文件。
内容由零声教学AI助手提供,问题来源于学员提问




