用户登录
用户注册

分享至

如何编译MySQL内核

  • 作者: 天下第一2892987
  • 来源: 51数据库
  • 2020-12-18

    在最新的版本中,windows环境与linux环境下使用一套代码。比如mysql-6.0.4-alpha版本中的INSTALL-WIN-SOURCE文件的描述:

        To build MySQL on Windows from source, you must satisfy the
  following system, compiler, and resource requirements:
  * Windows 2000, Windows XP, or newer version. Windows Vista is
  not supported until Microsoft certifies Visual Studio 2005 on
  Vista.
  * CMake, which can be downloaded from http://www.cmake.org.
  After installing, modify your path to include the cmake
  binary.
  * Microsoft Visual C++ 2005 Express Edition, Visual Studio .Net
  2003 (7.1), or Visual Studio 2005 (8.0) compiler system.
  * If you are using Visual C++ 2005 Express Edition, you must
  also install an appropriate Platform SDK. More information and
  links to downloads for various Windows platforms is available
  from http://msdn.microsoft.com/platformsdk/.
  * If you are compiling from a BitKeeper tree or making changes
  to the parser, you need bison for Windows, which can be
  downloaded from
  http://gnuwin32.sourceforge.net/packages/bison.htm.Download
  the package labeled "Complete package, excluding sources".
  After installing the package, modify your path to include the
  bison binary and ensure that this binary is accessible from
  Visual Studio.
  * Cygwin might be necessary if you want to run the test script
  or package the compiled binaries and support files into a Zip
  archive. (Cygwin is needed only to test or package the
  distribution, not to build it.) Cygwin is available from
  http://cygwin.com.
  * 3GB to 5GB of disk space.

    通过这样的方法,生成项目文件,从而可以通过vs工具进行编译。在先前的版本中,windows下的代码和linux下的代码是两个压缩包,比如windows下的一个软件包名为,mysql-5.1.7-beta-win-src.zip。

    这里我选择5.1.7作为分析的对象。

    安装代码的步骤:

    1.解压缩文件包mysql-5.1.7-beta-win-src.zip。

    2.使用vs2003打开项目文件mysql.sln。

    3.设置mysqld项目为启动项目。

    4.在mysqld的属性页设置命令参数为:--console。这样就可以用debug方式调试代码了。

 图1:配置命令参数

    5.设置断点,比如查询的总入口是handle_select函数。

    6.编译mysql项目,将会在mysql-5.1.7-betaclient_debug目录下生成mysql.exe。

    7.使用“启动新实例”或者“进入单步执行新实例”进行调试。

 图2:执行调试操作

    8. mysql-5.1.7-betaclient_debug目录下生成mysql.exe,执行语句,将会执行到断点进行调试。

    图3:进入调试状态

    9.相应的数据文件,见mysql-5.1.7-betadata目录。


软件
前端设计
程序设计
Java相关