C++在CentOS中如何配置数据库连接
作者:暮色微凉
时间:2026-07-28
浏览:0
在CentOS上配置C++应用连接数据库,其实是个流程化的活儿。只要把几个关键环节走通,后面基本就是复制粘贴的节奏。下面直接上干货,以MySQL和PostgreSQL为例,把整个链路拆解清楚。 **第一步:把数据库服务器装好** 先安装对应的数据库服务。如果选MySQL,终端里跑这条命令: ```
本文目录
在CentOS上配置C++应用连接数据库,其实是个流程化的活儿。只要把几个关键环节走通,后面基本就是复制粘贴的节奏。下面直接上干货,以MySQL和PostgreSQL为例,把整个链路拆解清楚。
**第一步:把数据库服务器装好**
先安装对应的数据库服务。如果选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+连接方式的变化),都可能让实际步骤略有偏差。遇到问题时,优先翻翻官方文档,那里有最准确的参考。
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
**第一步:把数据库服务器装好**
先安装对应的数据库服务。如果选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
作者最新文章
漫蛙漫画最新版本下载
2026-10-13 13:20
漫蛙漫画官方免费漫画入口
2026-10-13 13:19
漫蛙漫画网页版入口
2026-10-13 13:19
最新漫蛙链接合集2026
2026-10-13 13:16
漫蛙manwa2登录网址
2026-10-13 13:14
上一篇:
CentOS环境下C++网络库如何配置
下一篇:
CentOS中C++如何配置版本控制系统
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多










































