如何在Windows下编译或调试MySQL(转)

原文链接http://www.mysqlsupport.cn/category/code/

 

作者:吴炳锡 来源:http://www.mysqlsupport.cn/ 联系方式:select unhex(’777562696E67786940676D61696C2E636F6D’); 载请注明作/译者和出处,并且不能用于商业用途,违者必究。  

为什么需要在Windows下编译MySQL

    在Linux下编译MySQL是非常方便的操作,而且是轻车熟路,很容易搞定的。随着对MySQL的使用时间的增长,也慢慢的对MySQL代码的分析有点感兴趣了。所以想着找一个工具去学习一下MySQL的代码,对于Linux用户可以使用vim+ctags去分析,

但做为大多数用户来说工作的平台还都是windows平台。所以就需要在windows上去调试MySQL了。

对于下载的MySQL在Windows平台上无法直接编译的,工程文件没了,这里关建问题就是怎么创建一个工程文件。下面我装分几步去讲解,怎么去创建工程文件,怎么调试,怎么编译。

 

准备工作:

  安装一个编译器,推荐Microsoft visual studio 2008吧

  另外需要装:

         GNU Bison for Windows :http://gnuwin32.sourceforge.net/packages/bison.htm

         CMake 2.6.0 or later  :  http://www.cmake.org

开始编译:

这里以mysql-5.1.38的源码编译为例:

mysql-5.1.38的代码下载可以到mysql官方网站下载,具体怎么下载不在说明。

 

 打开一个cmd窗口:

 输入:

 cscript //H:CScript

 然后:

 cd /path/mysql-5.1.38

 win/configure WITH_INNOBASE_STORAGE_ENGINE __NT__

 win/build-vs9.bat

 

        到此我们将会创建一个mysql.sln 的工程文件,如果对想学习代码的朋友,到此即可以,然后可以用Microsoft visual studio 2008打开这个文件就可以查看相应的代码了。

 

 如果需要调试或单步执行调试:

         这里以mysqld项目为例:

   打开项目 mysqld 的属性 点击 debugging

在mysqld的属性页设置命令参数(Command Arguments)为:–console。这样就可以用debug方式调试代码了。

 

         同样对于其它项目的调试,也是这样处理,属性,添加命令行参数:–console。

 build-mysql-vs

         对于想跟踪的项目可以执行build,然后可以在mysql-5.1.38/client/Debug下生成相应的执行文件。

 

如果真的想编译一个Windows的MySQL,上面那个打开步骤可以不做。接着上面完成的bat后,直接进行:

vcbuild mysql.sln “Release”

进行编译。然后拷mysqld.exe及相应的文件到相应的目录就OK了。具体怎么安装,这里也不在说明了。本文档的核心目的就是教会大家怎么创建工程文件,然后怎么去调试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows平台下,使用IntelliJ IDEA编译调试MySQL源码可以按照以下步骤进行: 1. 安装CMake工具 MySQL源码需要使用CMake工具生成Makefile文件,然后再使用Make命令来编译。在Windows平台下,可以从CMake官网下载CMake安装包进行安装。 2. 下载MySQL源码 可以从MySQL官网下载MySQL源码压缩包。 3. 生成Makefile文件 在MySQL源码目录下,使用CMake工具生成Makefile文件。可以在终端(CMD或PowerShell)中执行以下命令: ``` cmake -G "Visual Studio 16 2019" -A x64 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=./boost -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_UNIT_TESTS=OFF -DWITH_EMBEDDED_SERVER=OFF . ``` 其中,-G参数指定生成的Makefile文件类型,这里使用的是Visual Studio 2019的Makefile文件。-A参数指定构建的目标平台是x64。-DDOWNLOAD_BOOST=1表示需要下载并编译Boost库,-DWITH_BOOST=./boost指定Boost库的路径。-DWITH_SSL=system和-DWITH_ZLIB=system表示使用系统安装的OpenSSL和Zlib库。-DWITH_UNIT_TESTS=OFF表示不编译单元测试代码。-DWITH_EMBEDDED_SERVER=OFF表示不编译嵌入式服务器代码。 执行完命令后,会在MySQL源码目录下生成相应的Makefile文件。 4. 使用Visual Studio编译MySQL源码 使用Visual Studio打开MySQL源码目录下的`mysql.sln`文件,然后编译整个解决方案。编译完成后,会在MySQL源码目录下生成相应的二进制文件。 5. 使用IntelliJ IDEA进行调试 打开IntelliJ IDEA,创建一个新的C++项目,然后将MySQL源码目录下的`sql`目录导入到项目中。在IntelliJ IDEA中配置调试器,并设置断点进行调试。 需要注意的是,由于MySQL是一个大型的项目,编译调试可能需要较长的时间和较高的机器配置。同时,还需要对MySQL的代码结构和逻辑有一定的了解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值