发布于2026-07-07 阅读(0)
扫一扫,手机访问
在CentOS上给C++项目搭数据库环境,这事儿听起来繁琐,其实拆开来也就几个标准动作。下面咱们一步步走一遍,保证你拿到一套能直接跑的配置方案。

CentOS不同版本默认的数据库不太一样——比如CentOS 8原生自带MariaDB,CentOS 7则是MySQL。不过没关系,这里以MariaDB为例,流程几乎通用。
sudo yum install mariadb-server mariadb
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation
跟着提示设置root密码、删除匿名用户、禁止root远程登录——这几步别跳过,安全无小事。
C++要跟数据库打交道,最直接的方式就是通过MySQL/MariaDB的C API。你需要装上对应的开发包:
sudo yum install mysql-devel
装好之后,头文件和链接库就都到位了。
接下来就是写代码了。你需要包含MySQL头文件,并在编译时链接libmysqlclient。
下面是一个最小化的示例:连接数据库、执行查询(显示所有表名)、输出结果。
#include
#include
int main() {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
// 初始化连接
conn = mysql_init(NULL);
// 连接到数据库
if (!mysql_real_connect(conn, "localhost", "root", "your_password", "your_database", 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
// 执行查询
if (mysql_query(conn, "SHOW TABLES")) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
// 获取结果集
res = mysql_store_result(conn);
// 输出表名
while ((row = mysql_fetch_row(res))) {
std::cout << row[0] << std::endl;
}
// 释放资源
mysql_free_result(res);
mysql_close(conn);
return 0;
}
用g++编译时,别忘了加上链接参数:
g++ -o myapp myapp.cpp -lmysqlclient
编译成功后直接运行:
./myapp
如果一切配置正确,你就能看到数据库中所有表的名称。
如果你的数据库和C++应用不在同一台机器上,那还得把防火墙的3306端口放开:
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload
至此,一个完整的CentOS下C++数据库配置环境就搭好了。后续你完全可以在这套基础上扩展复杂的CRUD操作或ORM封装,思路是一样的。
上一篇:C++程序在CentOS如何调试
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8