温馨提示×

CentOS下C++如何配置数据库

小樊
35
2025-11-21 22:36:03
栏目: 编程语言

在CentOS系统下为C++项目配置数据库,通常涉及以下几个步骤:

1. 安装数据库服务器

CentOS 8默认使用MariaDB,而CentOS 7使用MySQL。以下是安装MariaDB的步骤:

安装MariaDB

sudo yum install mariadb-server mariadb

启动并启用MariaDB服务

sudo systemctl start mariadb
sudo systemctl enable mariadb

运行安全脚本

sudo mysql_secure_installation

按照提示设置root密码,删除匿名用户,禁止root远程登录等。

2. 安装数据库客户端库

C++项目通常使用MySQL或MariaDB的C API进行数据库操作。以下是安装MySQL C API的步骤:

安装MySQL C API

sudo yum install mysql-devel

3. 配置C++项目

在你的C++项目中,你需要包含MySQL的头文件并链接MySQL库。

示例代码

假设你有一个简单的C++项目,连接到数据库并执行一个查询。

#include <mysql/mysql.h>
#include <iostream>

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++编译你的项目,并链接MySQL库:

g++ -o myapp myapp.cpp -lmysqlclient

4. 运行项目

编译成功后,运行你的项目:

./myapp

5. 配置防火墙(可选)

如果你的数据库服务器和C++应用程序不在同一台机器上,你需要配置防火墙允许数据库端口(默认是3306)的流量。

允许3306端口

sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload

通过以上步骤,你可以在CentOS系统下为C++项目配置并使用数据库。

0