Mysql源码阅读 -- Windows10编译运行MySQL源码

601 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第3天,点击查看活动详情

简介

看了一些MySQL相关的书籍和文章,但感觉知识还不是自己的,打算看一看源码,本篇文章就从Windows10下编译运行MySQL源码开始

源码准备

mysql是一个开源项目,github地址如下,可以直接进行克隆

下载完成后,我们使用github desktop打开后切换到5.7版本分支(或者使用命令行切换也行)

屏幕截图 2022-06-18 082236.png

资源准备

众所周知,完事开头难,程序员的世界,被环境折磨相信很多人感同身受,所以下面就相信列举博主在过程中使用到的资源和下载链接

机器环境:Windows10,下面是需要下载的相关东西

编译Sln

我们先在源码根目录下创建两个文件夹:boot和release

img

然后把boost_1_59_0.tar.gz压缩包放到里面去,并且解压boost_1_59_0.tar.gz

屏幕截图 2022-06-18 081705.png

然后进入新建后的release文件夹,运行下面的命令

cd D:\Code\c++\self\mysql-server\release
cmake ..  -DDOWNLOAD_BOOST=1 -DWITH_BOOST="D:\Code\c++\self\mysql-server\boost\boost_1_59_0.tar.gz"

成功后,我们就可以看到slm文件了:

如果出现错误:OpenSSL版本为1.0.0时(或者提示其他的版本信息),需要先删除掉本地电脑的OpenSSL版本,然后去下载1.1.1版本的,下载地址,下载后面的Win64 OpenSSL v1.1.1s,前面的依旧有些问题

运行

双击上面生成的MySQL.sln文件,visual studio随着就打开了,下面我们需要配置一下

1.打开MySQL的调试模式,文件路径如下:D:\Code\c++\self\mysql-server\sql\sql_locale.cc,修改如下

屏幕截图 2022-06-18 082702.png

2.增加启动参数:--console --initialize

3.将根目录下的:sql\sql_locale.cc,用 [utf-8 + BOM] 格式保存一下(用记事本打开,保存之类的)

4.对着mysqld鼠标右键,设置为启动项目,然后debug方式运行

屏幕截图 2022-06-18 083303.png

屏幕截图 2022-06-18 083345.png

运行后,我们看到了初始的密码,记得把密码保存下来

5.再次修改参数,把第二步的后面的--initialize去掉,然后启动,嘿嘿,成了

屏幕截图 2022-06-18 083544.png

总结

本篇算是一篇开胃菜吧,把源码阅读的基础准备好,等待后序工作了

参考链接