扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
操作系统: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
调试->命令参数
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流