商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > C++在CentOS中如何配置数据库连接

C++在CentOS中如何配置数据库连接

  发布于2026-07-28 阅读(0)

扫一扫,手机访问

在CentOS上配置C++应用连接数据库,其实是个流程化的活儿。只要把几个关键环节走通,后面基本就是复制粘贴的节奏。下面直接上干货,以MySQL和PostgreSQL为例,把整个链路拆解清楚。 C++在CentOS中如何配置数据库连接 **第一步:把数据库服务器装好** 先安装对应的数据库服务。如果选MySQL,终端里跑这条命令: ``` sudo yum install mysql-server ``` PostgreSQL的话,换成: ``` sudo yum install postgresql-server ``` 装完别急着走,启动服务并设置开机自启: ``` sudo systemctl start mysqld # 对于MySQL sudo systemctl start postgresql # 对于PostgreSQL sudo systemctl enable mysqld # 对于MySQL sudo systemctl enable postgresql # 对于PostgreSQL ``` **第二步:创建数据库和用户** 数据库服务跑起来之后,就该建库建用户了。用命令行工具进入数据库,按需执行下面的SQL。 **MySQL:** ```sql CREATE DATABASE mydatabase; CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword'; GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost'; FLUSH PRIVILEGES; ``` **PostgreSQL:** ```sql CREATE DATABASE mydatabase; CREATE USER myuser WITH ENCRYPTED PASSWORD 'mypassword'; GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser; ``` 这里注意,PostgreSQL的权限授权和MySQL略有不同,务必按实际版本调整。 **第三步:安装客户端库** C++程序想要和数据库对话,需要装对应的开发库。MySQL用`mysqlclient`: ``` sudo yum install mysql-devel ``` PostgreSQL需要`libpq`: ``` sudo yum install postgresql-devel ``` 这些库编译时会提供头文件和链接所需的动态库,缺了它们后面编译肯定报错。 **第四步:写C++代码** 代码层面,核心就是初始化连接、执行查询、处理结果、清理资源。以MySQL为例,一个最简的例子: ```cpp #include int main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; conn = mysql_init(NULL); if (!mysql_real_connect(conn, "localhost", "myuser", "mypassword", "mydatabase", 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_use_result(conn); while ((row = mysql_fetch_row(res)) != NULL) { printf("%s \n", row[0]); } mysql_free_result(res); mysql_close(conn); return 0; } ``` PostgreSQL的代码类似,但头文件换成了`libpq-fe.h`,链接的库是`pq`。具体API可参考官方文档。 **第五步:编译程序** 写完代码,用`g++`编译并链接对应的库。 **MySQL:** ``` g++ -o myapp myapp.cpp -lmysqlclient ``` **PostgreSQL:** ``` g++ -o myapp myapp.cpp -lpq ``` 如果编译时提示找不到库,检查一下`mysql-devel`或`postgresql-devel`是否安装完整,或者用`pkg-config`定位库路径。 **第六步:跑起来验证** 编译成功生成可执行文件后,直接运行: ``` ./myapp ``` 如果能看到数据库中的表名(比如`SHOW TABLES`的结果),说明连接成功了。 最后提醒一句:不同版本的数据库、不同发行版的CentOS(比如CentOS 7和8的包管理器差异),以及不同数据库驱动(比如MySQL 8+连接方式的变化),都可能让实际步骤略有偏差。遇到问题时,优先翻翻官方文档,那里有最准确的参考。
本文转载于:https://www.yisu.com/ask/69499975.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注