一、系统环境准备
- 系统环境
ubuntu-amd64/centos-amd64
linux系统安装略 - 编译调试工具安装
sudo apt install -f libncurses5-dev bison cmake gdb make gcc g++ git
二、MySQL源码下载以及编译安装
可以通过官网下载,或者在github上面克隆
官网下载
git下载
git clone https://github.com/mysql/mysql-server.git
编译安装
- cmake 主要用来makefile文件,生成部分源代码文件。
cmake . -DCMAKE_INSTALL_PREFIX=/data/mysql/base \
-DCMAKE_BUILD_TYPE=Debug \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DCMAKE_C_FLAGS_RELWITHDEBINFO="-O0" -DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O0" \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost
- make 根据cmake生成的makefile文件,调用g++/gcc工具来进行编译工作。
make -j 4
- make install 根据makefile文件,进行可以运行文件,库文件等的安装工作。
make install
查看/data/mysql/base目录,已经生成了相关的文件。
所有的编译参数
https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html#cmake-option-reference
三、实例初始化
cd /data/mysql/base
./bin/mysqld --initialize-insecure --basedir=./ --datadir=/data/mysql/data/13307 --user=ashe
四、调试运行
- 从main函数开始调试
- 调试正在运行的mysqld