首页 > 数据库 >Visual Studio编译调试MySQL源码

Visual Studio编译调试MySQL源码

时间:2023-11-18 10:24:39浏览次数:46  
标签:com 路径 Visual 源码 Studio MySQL boost 下载

最近想阅读下MySQL源码,虽然在linux下编译MySQL源码还是很顺利的,但是奈何不习惯在linux下阅读代码,比较喜欢用宇宙第一IDE Visual Studio来阅读调试代码,下面就记录下在windows上用visual studio来编译MySQL 5.7.44的源码。

  1. 下载mysql源码

    浏览器打开网页:https://dev.mysql.com/downloads/

    点击MySQL Community Server项进入下载页面:

    选择Source Code,版本选5.7.44,OS Version选择windows的zip包,然后点击下面的“Download”按钮开始下载。

  2. 下载bison-2.4.1-setup.exe(下载路径:https://sourceforge.net/projects/gnuwin32/files/bison/2.4.1/bison-2.4.1-setup.exe/download),安装后,将其安装目录下的bin路径添加到系统环境变量下(安装路径不要带有空格);

  3. 下载cmake-3.17.2-win64-x64.msi并安装(下载路径:https://github.com/Kitware/CMake/releases/download/v3.17.2/cmake-3.17.2-win64-x64.msi),在CMD下输入cmake -version能看到版本号,如果提示找不到命令,需要将其安装路径添加到系统环境变量下;

  4. 下载Win64OpenSSL-1_1_1w.msi并安装(下载路径:http://slproweb.com/products/Win32OpenSSL.html),将其安装路径添加到系统环境变量下(安装路径不要带有空格);

  5. 下载boost源码包boost_1_59_0.tar.gz(下载路径:http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz);

  6. 解压mysql源码,在源码根目录下创建两个文件夹:boost和release,然后把boost_1_59_0.tar.gz压缩包放到boost文件夹里面去;

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

     cmake ..  -DDOWNLOAD_BOOST=1 -DWITH_BOOST="[mysql源码目录]\boost\boost_1_59_0.tar.gz"
  8. 成功后,在release目录下就可以看到MySQL.sln文件了。

  9. 使用Visual Studio 2019打开MySQL.sln文件,将mysqld项目设置为启动项目;

  10. 打开sql项目下的mysqld.cc,找到方法test_lc_time_sz(大概也就是代码4396行的位置),将其中的assert(0)改为assert(1),也就是打开调试模式;

  11. 在mysqld项目的属性种,增加启动参数:--console --initialize

  12. 用记事本打开sql\sql_locale.cc文件,用格式"带有BOM的UTF-8"保存;

  13. debug方式运行项目mysqld ,可以看到初始密码,记录下来:

  14. 再次修改参数,把启动参数后面的--initialize去掉,然后启动,启动成功。

 

参考资料

 

https://juejin.cn/post/7110373798716653599
https://www.cnblogs.com/huangxincheng/p/13084736.html
https://blog.csdn.net/weixin_29306011/article/details/113218434
https://www.cnblogs.com/learnspace/articles/14667495.html
https://www.cnblogs.com/rgyu/p/7530918.html
https://www.pianshen.com/article/21982031539/
https://blog.csdn.net/Linjingke32/article/details/85111711

 

标签:com,路径,Visual,源码,Studio,MySQL,boost,下载
From: https://www.cnblogs.com/laoxia/p/17840119.html

相关文章

  • Visual Studio中使用SourceLink调试Abp源码
    在VisualStudio中目前已经能轻松的调试Abp源码,只需要以下两步操作。【选项】中设置调试最重要的一步,Nuget安装SourceLink.Copy.PdbFiles库,启用SourceLink调试后未安装该库不会下载对应pdb文件启动调试,等待自动下载源码符号文件,然后就可以愉快的进行源码调试了。......
  • 常见面试题-HashMap源码
    了解HashMap源码吗?参考文章:https://juejin.cn/post/6844903682664824845https://blog.51cto.com/u_15344989/3655921以下均为jdk1.8的HashMap讲解首先,HashMap的底层结构了解吗?底层结构为:数组+链表+红黑树什么时候链表会转换为红黑树呢?当一个位置上哈希冲突过多时,会导致......
  • session源码、闪现、请求扩展
    session源码'''1app.session_interface默认是某个类的对象,以后全局对象session,就是SecureCookieSessionInterface()的对象2请求来了,会执行这个对象的:open_session方法3请求走了,会执行这个对象的:save_session方法4找出上面讲的--》读源码--》app.run()---->run_simp......
  • session源码,闪现,请求扩展
    1session源码......
  • 新冠肺炎疫情可视化系统-计算机毕业设计源码+LW文档
    开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:PyCharm浏览器:谷歌浏览器DROPTABLEIFEXISTSaboutus;/*!40101SET@saved_cs_client=@@character_set_client/;/!40101SETcharacter_set_client=utf8......
  • 基于python的影片数据爬取与数据分析-计算机毕业设计源码+LW文档
    摘 要快速发展的社会中,人们的生活水平都在提高,生活节奏也在逐渐加快。为了节省时间和提高工作效率,越来越多的人选择利用互联网进行线上打理各种事务,通过线上管理影片数据爬取与数据分析也就相继涌现。与此同时,人们开始接受方便的生活方式。他们不仅希望页面简单大方,还希望操作方......
  • 源码安装Python
    本文使用的Linux发行版本为AlmaLinux9.264位(CentOS停止更新后的完美替代发行版本)。本文安装的Python版本为3.12.0,其他版本方法类似。准备工作更新系统。dnf-yupdate安装Python前,需确认当前系统是否已安装Python以及对应版本。不建议卸载原有Python版本,可能被应用......
  • 源码安装Python
    本文使用的Linux发行版本为AlmaLinux9.264位(CentOS停止更新后的完美替代发行版本)。本文安装的Python版本为3.12.0,其他版本方法类似。准备工作更新系统。dnf-yupdate安装Python前,需确认当前系统是否已安装Python以及对应版本。不建议卸载原有Python版本,可能被应用......
  • CreateCollection_dataSyncService_执行流程源码解析
    CreateCollection_dataSyncService_执行流程源码解析milvus版本:v2.3.2CreateCollection这个API流程较长,也是milvus的核心API之一,涉及的内容比较复杂。这里介绍dataSyncService相关的流程。这边文章基于【CreateCollection流程_addCollectionMetaStep_milvus源码解析】这篇文章......
  • 源码解析axios拦截器
    从源码解析axios拦截器是如何工作的axios拦截器的配置方式axios中有两种拦截器:axios.interceptors.request.use(onFulfilled,onRejected,options):配置请求拦截器。onFulfilled方法在发送请求前执行,接收config对象,返回一个新的config对象,可在此方法内修改config对......