MySQL源码-Mac上搭建调试环境

准备工作

源码及依赖下载

MySQL源码:在~/Documents/mysql-server路径下执行:

git clone https://github.com/mysql/mysql-server.git

根据需要切换到对应tag分支,本文以5.7.23分支的MySQL为例。

boost源码:https://www.boost.org/users/history/version_1_59_0.html下载到目录:

~/Documents/boost_1_59_0

每个分支所依赖的boost版本可能不一样,编译时会提示当前分支所依赖boost版本,5.7.23对应1.59.0。

新建路径

新建如下路径作为MySQL启动时存放数据的路径:

~/Documents/mysql-data/mysql-server/data

编译

步骤1:
cmake -DCMAKE_INSTALL_PREFIX=~/Documents/mysql-data/mysql-server \
-DMYSQL_DATADIR=~/Documents/mysql-data/mysql-server/data \
-DSYSCONFDIR=~/Documents/mysql-data/mysql-server \
-DMYSQL_UNIX_ADDR=~/Documents/mysql-data/mysql-server/data/mysql.sock \
-DWITH_DEBUG=1  -DDOWNLOAD_BOOST=1 -DWITH_BOOST=~/Documents/boost_1_59_0
  
步骤2:
make -j 4
  
步骤3:
make install -j 4

如果中途提示需要安装相关依赖,请自行通过brew或者下载源码编译安装。
编译完成后,需要对数据库进行初始化:

cd ~/Documents/mysql-data/mysql-server/bin &&
./mysqld --basedir=~/Documents/mysql-data/mysql-server --datadir=~/Documents/mysql-data/mysql-server/data --initialize-insecure --user=root

--initialize-insecure参数执行初始化后,默认root@localhost的密码为空密码

由于编译时,添加了

-DMYSQL_UNIX_ADDR=~/Documents/mysql-data/mysql-server/data/mysql.sock

则需要在my.cnf添加:

socket=~/Documents/mysql-data/mysql-server/data/mysql.sock

至此命令行即可启动mysql服务器:

cd ~/Documents/mysql-data/mysql-server/bin &&
./mysqld --defaults-file=/etc/my.cnf --basedir=~/Documents/mysql-data/mysql-server --datadir=~/Documents/mysql-data/mysql-server/data

--defaults-file选项必须放在第一个位置,否则MySQL启动会报错

服务端启动参数可以配置在/etc/my.cnf中:

[mysqld]
port = 3306
server-id = 100
socket=~/Documents/mysql-data/mysql-server/data/mysql.sock
log-bin = mysql-bin
log-slave-updates = 1

innodb_flush_log_at_trx_commit = 1
innodb_flush_method = O_DIRECT
innodb_buffer_pool_size = 2G
innodb_log_file_size = 128M

auto_increment_increment = 2
auto_increment_offset = 2

skip-host-cache
skip-name-resolve

#general_log_file=BASE/mysql.log
general_log=1

Clion中启动MySQL

配置值和命令行基本一致。

配置Debug选项

Clion -> Preferences -> Build,Execution,Deployment中CMake选项中:

cliondebug.png

配置启动选项

Target和Executable均选择mysqld。


clionedit.png

在编译完成后,Clion中即可启动调试程序。


cliondebugstart.png

在Sierra系列的Mac下,需要在/etc/hosts文件中加入:
127.0.0.1 localhost

你可能感兴趣的:(MySQL源码-Mac上搭建调试环境)