构建mysql调试环境

发表于:2013-12-03来源:ChinaUnix作者:gpingyang点击数: 标签:MySQL
下载代码: 下载mysql源代码 http://dev.mysql.com/downloads/mirrors.html

  下载代码:

  下载mysql源代码

  http://dev.mysql.com/downloads/mirrors.html

  源代码压缩包类似这样:mysql-XXX-XXX.XXX

  解压缩文件:

  根据压缩文件格式不同,需要用tar,zip, bz2等程序解压缩

  编译和安装:

  mysql源代码使用cmake构建,所以需要安装cmake

  构建mysql需要 flex(词法分析) ,bison(语法分析)两个程序

  cd mysql-XXX-XXX.XXX

  创建一个构建目录(非必须,可以直接在源代码目录构建)

  点击(此处)折叠或打开

  mkdir build-mysql

  mysql编译选项的完整说明

  http://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html

  我们这里指定3个编译参数,其它为黙认

  1)cmake_build_type, 构建类型为debug,方便调试

  2)cmake_install_prefix, 程序安装目录

  3)mysql_data_dir.数据库黙认目录

  mysql工程还有许多编译时参数,比如指定默认TCP端口号等

  点击(此处)折叠或打开

  cmake -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_INSTALL_PREFIX=[MYSQL_HOME] MYSQL_DATADIR=[MYSQL_DATA_DIR] ..

  执行make

  点击(此处)折叠或打开

  make

  安装

  点击(此处)折叠或打开

  make install

  如果安装成功,那么[MYSQL_HOME]下面就会生成以下文件:

  bin

  COPYING

  data

  docs

  include

  INSTALL-BINARY

  lib

  man

  my.cnf

  mysql-test

  README

  scripts

  share

  sql-bench

  support-files

  bin目录下是mysql可执行程序,包括mysql服务器客户端和一些工具程序

  data目录是存储数据库文件的目录

  lib里面是链接库

  include目录下是一些头文件,用于mysql向外部提供接口

  script目录下是用于数据库初始化的脚本

  初始化数据库文件:

  cd [MYSQL_HOME]

  (如果不在[MYSQL_HOME]这个目录中执行,要指定--basedir选项)

  点击(此处)折叠或打开

  ./scripts/mysql_install_db --datadir=[MYSQL_DATA_DIR]

  启动mysql server:(如果编译是正确配置了datadir,可以不加datadir参数)

  点击(此处)折叠或打开

  ./bin/mysqld --datadir=[MYSQL_DATA_DIR]

  gdb调试mysql

  点击(此处)折叠或打开

  gdb bin/mysqld

  接下来就可以调试代码了

  以上仅是创建一个可以调试跟踪代码的环境,方便分析源代码

  并不是从源代码安装mysql的方法,详细的安装文档请参考mysql网站

原文转自:http://blog.chinaunix.net/uid-29128384-id-3855472.html