**第一步:把数据库服务器装好**
先安装对应的数据库服务。如果选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 C++在CentOS中如何配置数据库连接
时间:2026-07-28
在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+连接方式的变化),都可能让实际步骤略有偏差。遇到问题时,优先翻翻官方文档,那里有最准确的参考。
**第一步:把数据库服务器装好**
先安装对应的数据库服务。如果选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
本文转载于:https://www.yisu.com/ask/69499975.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。