操作系统:windows server 2012 R2
VS版本:visio studio 2015 community
机器配置:4core/4G
安装所需包:cmake,bison,boost,activeperl,下面为具体版本
cmake-3.15.0-rc3-win64-x64.msi
boost_1_59.zip(注意boost版本要与mysql版本对应,会在cmake时有报错提示对应哪个版本)
activeperl.exe
bison-2.4.1-setup.exe

相关url:
https://www.boost.org/users/history/version_1_59_0.html
https://www.qqxiazai.com/down/12006.html#download_addr
http://gnuwin32.sourceforge.net/packages/bison.htm
一定要一切以官网说明为王道,官网说明地址,最好下载MySQL 5.7 Reference Manual,这才是MySQL最权威最全面的资料,阅读中文资料可能会有一些困惑,然后阅读MySQL参考手册可以豁然开朗,
另外mysql如果是在官网下载的话,下载source code就是可以。
很多博客都要求安装Bison,但是我没有安装Bison也没有问题,MySQL5.7参考手册上说的很明白,用Standard Source Distribution来build工程不需要Bison,而用Development Source Tree才需要Bsion,从官网上直接下载的标准版的源码ZIP包就是Standard Source Distribution,而在GitHub下载的最新的开发源码就是Development Source Tree。
我这里在官网下载的版本为mysql-5.7.26.zip
mysql源码调试(一)环境搭建_第1张图片

安装:
直接运行安装cmake,activeperl,bison,然后将boost解压到一个没有中文与空格的文件夹。
安装完bison之后需手动将bison安装目录添加到系统的环境变量中去。
C:\Program Files (x86)\GnuWin32\bin

安装visio studio 2015

生成VS2015 MySQL工程
解压mysql源码,运行cmake-gui,选择需要编译的源码,和目的目录。
Where is the source code : 选择解压后的源码
Where to build to the binaryies : 选择目的目录,这里我们选择C盘下的mysql目录。
即:
源码目录:C:/Users/chengbin.liu/Desktop/mysql-5.7.26
准备一个文件夹用于Build(路径中不能有中文和空格),文件夹在C:/mysql
mysql源码调试(一)环境搭建_第2张图片

接下来需要配置boost库,点击Add Entry添加boost库配置项。
Name: WITH_BOOST
Type选择PATH
Value: 选择第一步中boost库的安装目录
mysql源码调试(一)环境搭建_第3张图片
点ok之后,接下来我们点击Configure, 选择目标VS版本,
mysql源码调试(一)环境搭建_第4张图片
mysql源码调试(一)环境搭建_第5张图片
点击Finish后,等待运行结束,需要一定时间。
之后点击configure
mysql源码调试(一)环境搭建_第6张图片
Configure结束:
mysql源码调试(一)环境搭建_第7张图片
点击Generate生成VS2015 Project。
mysql源码调试(一)环境搭建_第8张图片
直接点击”open_project” 按钮即可调用VS2015打开工程 (或进入build目录,双击ALL_BUILD那个project文件调用VS2015打开工程),
mysql源码调试(一)环境搭建_第9张图片
编译:
mysql源码调试(一)环境搭建_第10张图片
选择最右边解决方案下的ALL_BUILD右键生成。
mysql源码调试(一)环境搭建_第11张图片
如果没有报错,等待编译结束…(比较漫长的等待)
看到控制台如下输出,恭喜编译成功
调试MySQL之前需要先初始化MySQL数据库,否则会报mysql.user表不存在。
最简单的初始化方法:
VS开始调试前,用VS运行一下mysqld初始化一个默认的数据库实例。一定是debug mysqld子工程设置为启动工程。
在mysqld上点右键->属性
mysql源码调试(一)环境搭建_第12张图片
--initialize --explicit_defaults_for_timestamp
调试->命令参数
mysql源码调试(一)环境搭建_第13张图片