Clion+Ubuntu(WSL)+MySQL8.0开发环境搭建

1. 下载 MySQL 源码

访问 MySQL 官方网站(MySQL :: Download MySQL Community Server)并下载 MySQL 8.0 的源码包(mysql-boost-8.0.31.tar.gz)。

2. 安装编译依赖

1)更换镜像源

参考:Linux Ubuntu 修改 /etc/apt/sources.list (镜像源)文件(非常实用)-CSDN博客

2)安装 gcc

cpp 复制代码
sudo apt install gcc-11

3)安装构建 MySQL 所需的编译依赖。运行以下命令安装所需的软件包:

cpp 复制代码
sudo apt install build-essential cmake libncurses5-dev libssl-dev libboost-all-dev gdb

注意,我们添加了 gdb 软件包,它是用于调试的工具。

3. 解压源码包

将下载的源码包解压到一个目录中。假设你将其解压到 /usr/local 目录下。

cpp 复制代码
sudo tar xvf mysql-boost-8.0.31.tar.gz

4. 创建用户和组

cpp 复制代码
groupadd mysql

//第一个mysql是指用户名,第二个mysql是指组名
//参数说明:-M 不创建家目录 -s 指定 -r 创建系统账户
useradd -r -g mysql -M -s /bin/false mysql
  • -r选项表示创建一个系统用户(系统用户通常用于运行服务或应用程序)。
  • -g mysql选项指定将用户添加到名为mysql的用户组中。
  • -M选项表示不要创建用户的主目录。
  • -s /bin/false选项将用户的登录 shell 设置为/bin/false,这将禁止用户通过登录 shell 登录系统。

该命令的目的是创建一个名为mysql的系统用户,并将其添加到mysql用户组中。该用户将没有登录权限,因为其登录 shell 被设置为/bin/false。这样的用户通常用于运行MySQL服务,以提供更安全的环境。


上述步骤都是 Ubuntu(WSL) 下源码安装 MySQL 的基操,Ubuntu(WSL)下源码安装 MySQL 参考:Ubuntu(WSL)下源码安装 MySQL(建议在 Ubuntu(WSL) 下先源码安装 MySQL8.0)

5. Clion+Ubuntu(WSL)+MySQL开发环境配置

5.1 使用 Clion 打开 MySQL8.0 源码

5.2 打开 Settings - Toolchains 并进行相关配置

5.3 打开 Settings - CMake 并进行相关配置

1)在 Toolchain 和 Generator 栏中选择图中所示参数

2)在 CMake options 栏中填入编译参数

编译参数如下:

cpp 复制代码
-G "Unix Makefiles"
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DDEFAULT_CHARSET=utf8mb4
-DDEFAULT_COLLATION=utf8mb4_general_ci
-DEXTRA_CHARSETS=all
-DENABLED_LOCAL_INFILE=1
-DDOWNLOAD_BOOST=1
-DWITH_DEBUG=1
-DWITH_BOOST=/usr/local/boost
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DCMAKE_C_FLAGS="-Wno-unused-variable -Wno-unused-parameter"
-DCMAKE_CXX_FLAGS="-Wno-unused-variable -Wno-unused-parameter"
-DWITH_EMBEDDED_SERVER:BOOL=OFF
-DBUILD_TESTING:BOOL=OFF
-DWITH_UNIT_TESTS:BOOL=OFF

3)编译目录(Build directory)使用默认即可,也可人为指定,然后依次点击:Apply、OK

5.4 在 Edit Configurations... 栏中选择可执行文件 mysqld

5.5 点击 Build - Install

说明:此处 Install 包含在终端下源码安装 MySQL 过程中的 make 和 install 两个过程

5.6 等待 Install 和 Updating indexes 两个过程结束

5.7 完成安装

6. 初始化

cpp 复制代码
# 进入安装目录 
cd /usr/local/mysql 

# 初始化 
bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql --port=3306

说明:初始化文件 my.cnf 可以放在不同的文件夹下(一台机器上装多个 mysql 时,可以在不同的文件夹下创建 my.cnf),但初始化命令中使用到的 my.cnf 路径要与其保持一致;

7. 寻找初始密码

初始化完成后,找到 mysql 安装目录下的 data 文件夹,初始化密码在 mysqld.log 日志中,自行找到即可,然后用初始密码进行登陆;初始密码实例如下:

8. 启动 mysql

cpp 复制代码
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --port=3306 &

9. 设置 mysql 密码

cpp 复制代码
# 执行下述命令并使用初始密码进入 
/usr/local/mysql/bin/mysql -h127.0.0.1 -uroot -p -P3306 

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

10. Clion+Ubuntu(WSL)+MySQL8.0开发环境搭建完成

相关推荐
wowocpp6 分钟前
ubuntu 22.04 硬件配置 查看 显卡
linux·运维·ubuntu
山河君18 分钟前
ubuntu使用DeepSpeech进行语音识别(包含交叉编译)
linux·ubuntu·语音识别
鹏大师运维22 分钟前
【功能介绍】信创终端系统上各WPS版本的授权差异
linux·wps·授权·麒麟·国产操作系统·1024程序员节·统信uos
筱源源24 分钟前
Elasticsearch-linux环境部署
linux·elasticsearch
萨格拉斯救世主27 分钟前
jenkins使用slave节点进行node打包报错问题处理
运维·jenkins
knighthood200136 分钟前
解决:ros进行gazebo仿真,rviz没有显示传感器数据
c++·ubuntu·ros
川石课堂软件测试38 分钟前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
pk_xz1234562 小时前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器
小珑也要变强2 小时前
Linux之sed命令详解
linux·运维·服务器
Lary_Rock4 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器