手记

MySQL源码分析调试(一) 环境准备

一、系统环境准备

  • 系统环境
    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
0人推荐
随时随地看视频
慕课网APP