聊聊 MySQL8.0 源码编译和 Clion 调试

​操作系统环境

我把个人的台式机重装了 Ubuntu 20.04 ,内核版本是 5.13.0-44-generic,内存16G,磁盘240G,有关依赖的编译工具版本如下所示。

聊聊 MySQL8.0 源码编译和 Clion 调试插图亿华云

相关的安装命令是从 PolarDB-通过编译源码安装部署文档上来的,专门适配于 Ubuntu 20版本,Centos的版本可以具体去它文档中查看:

安装GCC7

apt install -y gcc-7 g -7

update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 60 \

--slave /usr/bin/g g /usr/bin/g -7

update-alternatives --config gcc

gcc --version

g --version

# 安装依赖

apt install make automake cmake git bison libaio-dev libncurses-dev libsasl2-dev libldap2-dev libssl-dev pkg-config

MySQL 源码下载

我们选择最新的 8.0.28版本,可以去 https://dev.mysql.com/downloads/mysql/ 直接下载带 Boost 第三方库依赖的源码。

聊聊 MySQL8.0 源码编译和 Clion 调试插图1亿华云

Boost 是一个功能强大、构造精巧、跨平台、开源并且完全免费的 C 程序库,可以认为是半个C 标准库。MySQL 的代码依赖 Boost库,所以直接下载一个携带Boost库的源码比较省心,不需要再去下载对应的Boost库。

编译命令

我们首先需要使用 cmake 进行编译,可以直接使用命令行,也可以用 Clion 开发后,配置对应的cmake编译配置。

聊聊 MySQL8.0 源码编译和 Clion 调试插图2亿华云

其中,有关 CMake Options 的部分参数如下所示:

-DWITH_BOOST=~/work/c /mysql-8.0.28/boost -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/home/homer/build -DMYSQL_DATADIR=/home/homer/build/data -DSYSCONFDIR=/home/homer/build -DMYSQL_UNIX_ADDR=/home/homer/build/data/mysql.sock -DMYSQL_MAINTAINER_MODE=false

其中比较重要的有:

DWITH_BOOST: 指定 boost 路径,可以直接指向源码文件夹下的boost文件夹;DCMAKE_BUILD_TYPE: 表示是debug,方便后续代码调试;DCMAKE_INSTALL_PREFIX:

THE END
Copyright © 2024 亿华云