C++搭建集群聊天室:MySQL数据库配置 及项目工程目录配置

Posted 看,未来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++搭建集群聊天室:MySQL数据库配置 及项目工程目录配置相关的知识,希望对你有一定的参考价值。

安装mysql

如果是跟我一样使用CentOS8的话,那就自信点:
CentOS 三分钟快速安装MySQL


mysql建表

数据库叫 chat

User

字段名称字段类型字段说明约束
idINT用户idPRIMARY KEY、AUTO_INCREMENT
nameVARCHAR(50)用户名NOT NULL, UNIQUE
passwordVARCHAR(50)用户密码NOT NULL
stateENUM(‘online’, ‘offline’)当前登录状态DEFAULT ‘offline’

Friend

字段名称字段类型字段说明约束
useridINT用户idNOT NULL、联合主键
friendidINT好友idNOT NULL、联合主键

AllGroup

字段名称字段类型字段说明约束
idINT组idPRIMARY KEY、AUTO_INCREMENT
groupnameVARCHAR(50)组名称NOT NULL,UNIQUE
groupdescVARCHAR(200)组功能描述DEFAULT ‘’

GroupUser

字段名称字段类型字段说明约束
groupidINT组idNOT NULL、联合主键
useridINT组员idNOT NULL、联合主键
grouproleENUM(‘creator’, ‘normal’)组内角色DEFAULT ‘normal’

OfflineMessage

字段名称字段类型字段说明约束
useridINT用户idNOT NULL
messageVARCHAR(500)离线消息(存储Json字符串)NOT NULL

项目工程配置

mkdir CHAT
cd CHAT
mkdir bin build include include/server src src/server src/client test thirdparty
touch CMakeLists.txt src/CMakeLists.txt src/server/CMakeLists.txt
chmod 757 *
chmod 757 ./src/*

然后,第一个CMake文件:

cmake_minimum_required(VERSION 3.0) # 最低版本
project(main)   # 给这个工程一个名字,这不是可执行文件的名字,是工程的名字

# 设置编译选项,不知道最后能不能过
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -g)

# 设置可执行文件最后的输出目录
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

# 配置头文件的搜索路径
include_directories(${PROJECT_SOURCE_DIR}/include)
include_directories(${PROJECT_SOURCE_DIR}/include/server)
include_directories(${PROJECT_SOURCE_DIR}/thirdparty)

# 加载子目录
add_subdirectory(src)

第二个cmake文件:

# 加载子目录
add_subdirectory(server)

第三个cmake文件:

# 定义一个SRC_LIST变量,存放该目录下所有的源文件
aux_source_directory(. SRC_LIST)

# 指定生成可执行文件
add_executable(ChatServer ${SRC_LIST})

# 指定可执行文件生成时需要链接的外部库
target_link_libraries(ChatServer muduo_net muduo_base pthread)

# 指定可执行文件存放位置
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}../../bin)

以上是关于C++搭建集群聊天室:MySQL数据库配置 及项目工程目录配置的主要内容,如果未能解决你的问题,请参考以下文章

C++搭建集群聊天室(十八):nginx + redis 发布订阅 升级项目为集群服务器

C++搭建集群聊天室(十八):nginx + redis 发布订阅 升级项目为集群服务器

C++搭建集群聊天室:数据库代码及用户模型代码封装

C++搭建集群聊天室:数据库代码及用户模型代码封装

C++搭建集群聊天室(十七):ngnix简介及tcp负载均衡配置

C++搭建集群聊天室(十七):ngnix简介及tcp负载均衡配置