阅读量:76
在CMake项目中部署MySQL数据库,需要遵循以下步骤:
-
安装MySQL数据库和开发库:
对于Ubuntu/Debian系统,可以使用以下命令安装MySQL数据库和开发库:
sudo apt-get install mysql-server libmysqlclient-dev对于CentOS/RHEL系统,可以使用以下命令安装MySQL数据库和开发库:
sudo yum install mysql-server mysql-devel -
配置MySQL数据库:
启动MySQL服务并设置开机自启动:
sudo systemctl start mysqld sudo systemctl enable mysqld运行MySQL安全安装脚本,设置root密码并进行其他安全配置:
sudo mysql_secure_installation -
创建数据库和表结构:
登录到MySQL控制台:
mysql -u root -p创建一个新的数据库:
CREATE DATABASE my_database;选择刚刚创建的数据库:
USE my_database;创建表结构(以一个简单的用户表为例):
CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255) NOT NULL UNIQUE, password VARCHAR(255) NOT NULL ); -
在CMake项目中链接MySQL库:
在项目的
CMakeLists.txt文件中,添加以下内容:find_package(MySQL REQUIRED) include_directories(${MYSQL_INCLUDE_DIRS}) target_link_libraries(your_target_name ${MYSQL_LIBRARIES})这里的
your_target_name是你的CMake项目的目标名称。 -
编写代码连接MySQL数据库:
在项目中编写C++代码,使用MySQL C API或者C++连接器(如MySQL++)连接到数据库。以下是一个简单的示例:
#include#include using namespace mysqlx; int main() { const std::string url = "mysqlx://username:password@localhost:33060"; const std::string schema_name = "my_database"; try { Session session(url); Schema schema = session.getSchema(schema_name); Table table = schema.getTable("users"); // 查询所有用户 RowResult result = table.select().execute(); // 输出查询结果 std::cout << "Users:"<< std class="hljs-keyword">for (Row row : result) { std::cout << "ID: "<< row class="hljs-number">0].get<int>() << ", Username: "<< row class="hljs-number">1].get () << ", Password: "<< row class="hljs-number">2].get ()<< std class="hljs-built_in">catch (const Error& e) { std::cerr << "Error: " << e class="hljs-built_in">what()<< std class="hljs-keyword">return 1; } return 0; } -
编译和运行项目:
使用CMake编译项目,并运行生成的可执行文件。现在,你的项目应该已经成功连接到MySQL数据库,并执行了一些基本操作。