下载代码:
下载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