千家信息网

mysql源码调试(一)环境搭建

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,操作系统:windows server 2012 R2VS版本:visio studio 2015 community机器配置:4core/4G安装所需包:cmake,bison,boost,acti
千家信息网最后更新 2025年11月07日mysql源码调试(一)环境搭建

操作系统: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

安装:
直接运行安装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

接下来需要配置boost库,点击Add Entry添加boost库配置项。
Name: WITH_BOOST
Type选择PATH
Value: 选择第一步中boost库的安装目录

点ok之后,接下来我们点击Configure, 选择目标VS版本,


点击Finish后,等待运行结束,需要一定时间。
之后点击configure

Configure结束:

点击Generate生成VS2015 Project。

直接点击"open_project" 按钮即可调用VS2015打开工程 (或进入build目录,双击ALL_BUILD那个project文件调用VS2015打开工程),

编译:

选择最右边解决方案下的ALL_BUILD右键生成。

如果没有报错,等待编译结束…(比较漫长的等待)
看到控制台如下输出,恭喜编译成功
调试MySQL之前需要先初始化MySQL数据库,否则会报mysql.user表不存在。
最简单的初始化方法:
VS开始调试前,用VS运行一下mysqld初始化一个默认的数据库实例。一定是debug mysqld子工程设置为启动工程。
在mysqld上点右键->属性

--initialize --explicit_defaults_for_timestamp
调试->命令参数

选择 版本 目录 源码 工程 文件 编译 运行 就是 文件夹 生成 配置 接下来 手册 数据 数据库 目的 空格 系统 资料 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 永兴学计算机软件开发哪个学校好 法律 针对网络安全 网络安全峰会什么时候召开 分布式电源监控的网络安全 看网络安全心得体会初中 绝地求生官方版本服务器 达梦数据库归档模式什么意思 消逝的光芒2连不上服务器 网络安全使用技术 网络安全 情景剧 网络安全相关面试题 无线网络技术学术论文 系统软件开发参考文献 校园网络安全管理措施 服务器需要做端口映射 服务器一个月多少电费 职业认证数据库 高防服务器如何进行安全防御 无锡环保网络技术服务价格 铁锈战争服务器版是啥意思 南京跑火网络技术有限公司 做软件开发的公司如何做账 腾讯云服务器首单续费 全国网络安全宣传周活动主题 幻塔经常无法连接服务器 个单片机软件开发的有提成吗 学校网络服务器管理人员 编程学到安卓软件开发要多久 溧阳安卓软件开发 数据库合作协议
0