mysql 源码 windows_MySQL源码学习第一回:Windows调试MySQL

说起来,布署调试系统之前试过两次,到后来都因为没坚持下来而半途作费。这次终于成功了。

(1) 为了少走弯路,建议下载5.1.x版本。

网上关于在win32系统布署调试环境的贴子本来就少,官网的资料也都是英文,对于不习惯看英文的人可算是折磨。并且,就那么少的贴子说的内容说的还是5.1.x版本的办法(我事后才知道),对于习惯下载最新版人的人来说,算是一头雾水,因为刚开始要用win目录下的configure.js文件,而5.5.x版本并没有这个文件。还以为自己下错版本了。所以,建议第一次想研读源码的人最好下载5.1.x版本的源码。我这里给个地址。

http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.60.tar.gz/from/http://mysql.cs.pu.edu.tw/.版本是5.1.6。完全可以当成首选源码来研读。我下面所说的也是针对这个版本而来的。

(2) 事先需要安装的软件

1.cmake 下载地址:http://www.cmake.org/files/v2.8/cmake-2.8.6-win32-x86.exe

2.bison 下载地址:http://buct-compiler.googlecode.com/files/bison-2.4.1-setup.exe

3.注意事项:软件安装路径不要带空格,将cmake,bison安装路径添加到环境变量中去。

(3)修改源代码

1.将源代码解压到指定目录。

2.修改两处源代码,1处:sql/sql_locale.cc文件原先是用"UTF8无BOM格式",另存"UTF8格式". 2 处:sql/mysqld.cc中4352行代码"DBUG_ASSERT(0);",将其改成"DBUG_ASSERT(1);"

(4) 在cmd命令行执行命令

1.执行:win\configure.js WITH_INNOBASE_STORAGE_ENGINE MYSQL_SERVER_SUFFIX=-pro.不出意外的话,会弹出一个对话框。

2.如果是VS2005,执行win\build-vs8.bat;如果是VS2008,执行win\build-vs9.bat

(5) 建立data文件夹,开启MYSQL服务

在sql/目录下,建立data文件夹

进入sql/debug目录,有一个mysqld.exe文件,执行:mysqld.exe --debug --standalone 开启服务。如果遇到错误,可以查看err文件,文件在sql/data/目录下。一般需要将win/data/mysql目录拷贝到sql/data/目录下。

(6)点击解压根目录下的mysql.sln文件,生成解决方案

在解压根目录下,有个mysql.sln文件。双击,会看到熟悉的画面。这个时候再生成解决方案,看有没有错误。

(7) 使用VS2008 调试

调试--> 附加到进程,选择之前开启的mysqld.exe服务。设置好断点,新建立一个连接,开始调试。

到这一步,布署调试环境已经就绪。从现在开始就可以开始研读源码了。

  • 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、付费专栏及课程。

余额充值