本文简述在linux环境下编译调试mysql源码方法。
- 下载源码并解压。下载路径:http://www.mysql.com/downloads/mysql/ 选择source包下载。
- 解压。tar -xvf mysql-5.1.48.tar.gz
- 编译。我采用的编译选项为:./configure --prefix=/usr/local/mysql-dbg --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-innodb --with-debug CC="gcc" CFLAGS="-g -fno-omit-frame-pointer" CXX="gcc" CXXLAGS="-g -fno-omit-frame-pointer"
- make & make install.(可以不make install)
- 使用mysql_install_db 安装启动所需的系统表
- 在代码目录下找到mysqld 二进制文件
- [root@d sql]# ll /home/XXX/mysql-source-code/mysql-5.1.48/sql/mysqld
-rwxr-xr-x 1 XXX users 30594997 Oct 27 15:57 /home/XXX/mysql-source-code/mysql-5.1.48/sql/mysqld - 使用gdb 调试,设置断点,设置启动参数。
- 通过客户端发送一条request, 如 insert 等,既可以在服务器上观察。