MySQL数据库支持各类常见的操作系统,例如Linux、Solaris、FreeBSD、Windows等。这意味着InnoDB同样支持跨平台的存储引擎。由于MySQL数据库以及各存储引擎都是通过C、C++进行编译的,因此移植这些程序是非常简单的。
我推荐用户使用Windows的VistualStudio工具尝试编译和调试MySQL数据库以及InnoDB存储引擎。MySQL3.23源码编译文件需要做一些小小的修改以支持最新版本的Vistual Studio开发环境。通过这样的修改,在VistualStudio2013开发环境下也能对代码进行编译与调试。然而,我更推荐用户使用VistualStudio2003进行源码的编译与调试,因为这基本上不需要做任何的修改。我共享了MySQL3.23.49的VistualStudio2003工程文件(http://pan.baidu.com/s/1iPtr),用户需要做的仅仅是打开工程文件,编译即可通过。调试需要将mysqld解决方案设置为启动项,并在属性页设置MySQL数据库的配置文件,如图1-1所示。
对于喜欢在Linux环境下进行开发的用户,笔者推荐使用vim+gdb的方式。Redhat9通过下面的方式就可以编译一个包含InnoDB存储引擎的DEBUG版本MySQL3.23:
CFLAGS=”-O0 -mpentiumpro” CXX=gcc CXXFLAGS=”-O0 \
-mpentiumpro -felide-constructors -fno-exceptions -fno-rtti” \
./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-
static \
--with-innodb --with-debug
其实即使在比较新的Linux发行版本下,如Ubuntu12.0.4,也能对MySQL3.23.49版本进行编译。不过这需要首先安装gcc3.x版本,有兴趣的读者可以自己进行尝试,看看是否可以得到类似如下的结果:
david@ubuntu:~/Downloads/mysql$ uname -a
Linux ubuntu 3.8.0-29-generic #42~precise1-Ubuntu SMP Wed Aug 14 16:19:23 UTC
2013 x86_64 x86_64 x86_64 GNU/Linux
david@ubuntu:~/Downloads/mysql$ ./libexec/mysqld -V
./libexec/mysqld Ver 3.23.58 for pc-linux on i686