Win7+VS2010:mysql 源码编译与调试

win7+vs2010源码编译mysql

最近由于在实习,工作重点在于一些数据库的开发,为了更好的理解数据库的实现机制,目前萌生了要研究一下mysql数据库源码的想法。那么好吧,说干就干,首先我们需要实现对源码的编译,这里我们选择win7+VS2010来实现,但是试了很多次都失败了。这是我多次配置环境时遇到的问题,各种博客文章总是不太完全,或者说没有说明一些遇到的问题的解决方案,这可能跟具体的操作系统和环境有关。本文就说说我安装的情况。

1.准备工作

(1)OS:win7旗舰版64位+VS2010(2013也试过了)

(2)mysql源码(windows版):mysql-5.6.19.zip(下来框选择sourcecode)

(3)perltool:ActivePerl-5.16.3.1604-MSWin32-x64-298023.msi

(4)Cmake:cmake-3.0.0-win32-x86.exe

(5)Bison:bison-2.4.1-setup.exe

安装需要注意的几点,一般安装在根目录下,如C:\CmakeC:\GnuWin32C:\Perl64,当然也可以是其他目录,一般路径不要出现中文字符,空格及特殊字符(这个貌似很重要)。具体安装见下面博客:Windows+VS2012环境下编译调试MySQL源码

2.开始安装

在任意你喜欢的盘里面创建一个用于安装的目录:如在D盘创建mysql然后将mysql-5.6.19.zip解压到该目录下,然后在cmd中切换到安装目录,此处即为D:\mysql\mysql-5.6.19,记({install}=D:\mysql\mysql-5.6.19),其下包含如下文件目录:

然后在{install}下执行以下命令:

>mkdirbld

>cdbld

>cmake..

这样你可看到类似如下的输出:

下一步我们就可以在VS2010中buildsolution了(对应生成解决方案),但为了尽可能减少警告或错误,我们首先需要对下述文件进行修改:

修改的方法很简单,就是将这些文件以UTF-8(带BOM头的)格式保存。一般使用Nodepad++工具等。

最后一步就是找到{install}\mysql-5.6.19\sql\mysqld.cc中的test_lc_time_sz()函数,将其中的DBUG_ASSERT(0)改为DBUG_ASSERT(1)即可。

至此我们就完成了将源码转换成VS中工程文件的目的。之后我们就可以buildsolution了。如果没有错误说明就已经没有问题了,一些小的警告可能是因为C++编译器比C编译器严格的缘故。下一步我们开始调试。

3.调试

然后将mysqld工程的Debug的:属性->调试->命令参数,设为–console,如下:

然后启动实例,

这样就可以看到下面的命令行界面:

cmd下进入到目录{install}\client,然后执行如下命令,就可以开始连接到刚刚开启的mysql服务了。这说明mysql服务已经启动,下一步就是启动mysql客服端,这里我是采用命令行的启动方式。

好了至此,,我们基本完成了在win7下实现在vs下编译调试mysql数据库的目的,下面就可以开始研究源码了。

4 .新增问题

(1)vs2010:

人要想成为生活的主人,不仅要适应生活,而且还要发挥主动性,

Win7+VS2010:mysql 源码编译与调试

相关文章:

你感兴趣的文章:

标签云: