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

举报
看,未来 发表于 2021/08/25 21:45:10 2021/08/25
【摘要】 安装MySQL如果是跟我一样使用CentOS8的话,那就自信点:CentOS 三分钟快速安装MySQL mysql建表数据库叫 chat User字段名称字段类型字段说明约束idINT用户idPRIMARY KEY、AUTO_INCREMENTnameVARCHAR(50)用户名NOT NULL, UNIQUEpasswordVARCHAR(50)用户密码NOT NULLstateENUM...

请添加图片描述

安装MySQL

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


mysql建表

数据库叫 chat

User

字段名称 字段类型 字段说明 约束
id INT 用户id PRIMARY KEY、AUTO_INCREMENT
name VARCHAR(50) 用户名 NOT NULL, UNIQUE
password VARCHAR(50) 用户密码 NOT NULL
state ENUM(‘online’, ‘offline’) 当前登录状态 DEFAULT ‘offline’

Friend

字段名称 字段类型 字段说明 约束
userid INT 用户id NOT NULL、联合主键
friendid INT 好友id NOT NULL、联合主键

AllGroup

字段名称 字段类型 字段说明 约束
id INT 组id PRIMARY KEY、AUTO_INCREMENT
groupname VARCHAR(50) 组名称 NOT NULL,UNIQUE
groupdesc VARCHAR(200) 组功能描述 DEFAULT ‘’

GroupUser

字段名称 字段类型 字段说明 约束
groupid INT 组id NOT NULL、联合主键
userid INT 组员id NOT NULL、联合主键
grouprole ENUM(‘creator’, ‘normal’) 组内角色 DEFAULT ‘normal’

OfflineMessage

字段名称 字段类型 字段说明 约束
userid INT 用户id NOT NULL
message VARCHAR(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)
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。