注意:如果你想帮助我们测试新代码,应当阅读本节。如果你只想在系统上安装并运行MySQL,应当使用标准发布分发版(二进制或源码分发版)

要想获得我们的最新开发源码树,应使用说明:

1.    http://www.bitmover.com/bk-client.shar下载BitKeeper免费客户端。

2.    Unix上安装免费客户端:

3.            shell> sh bk-client.shar
4.            shell> cd bk_client-1.1
5.            shell> make all
6.            shell> PATH=$PWD:$PATH

Windows上的安装方法:

·         http://cygwin.com下载并安装Cygwin

·         确保gccmake已经安装到Cygwin。可以用which gcc which make命令进行测试。如果任何一个没有安装,运行 Cygwin安装包管理器,选择gccmake安装。

·         Cygwin中,运行:

·                      shell> sh bk-client.shar
·                      shell> cd bk_client-1.1

然后编辑Makefile并将行s $(CC) $(CFLAGS) -o sfio -lz sfio.c更改为:

$(CC) $(CFLAGS) -o sfio sfio.c -lz

现在运行make命令并设置路径:

shell> make all
shell> PATH=$PWD:$PATH

7.    安装BitKeeper免费客户端后,首先进入工作目录,然后使用以下命令在本地复制MySQL 5.1

8.            shell> sfioball -r+ bk://mysql.bkbits.net/mysql-5.1 mysql-5.1

一般情况,你不需要自己构建文档,因为我们已经在http://dev.mysql.com/doc/提供了许多格式。我们每天更新你可以下载的格式(HTMLPDF),因此你没有必要从MySQLdoc树中的DocBook XML基本格式来创建。如果你想要复制文档库,使用下面的命令:

shell> sfioball -r+ bk://mysql.bkbits.net/mysqldoc mysqldoc

在前面的例子中,在当前目录的MySQL-5.1/子目录中设置源码树。

如果你位于防火墙后面,只能初始化HTTP连接,还可以通过HTTP使用BitKeeper

如果需要使用代理服务器,设置环境变量http_proxy指向代理:

shell> export http_proxy="http://your.proxy.server:8080/"

当复制库时用http://替换bk//。例如:

shell> sfioball -r+ http://mysql.bkbits.net/mysql-5.1 mysql-5.1

下载源码树可能需要一段时间,取决于连接速度。请耐心等待。

9.    要想更新本地MySQL 5.1库复制,使用命令:

10.        shell> update bk://mysql.bkbits.net/mysql-5.1

11.你需要GNU makeautoconf 2.58 (或更新版)automake 1.8libtool 1.5m4来运行后面的命令。尽管许多操作系统安装了make,很可能编译失败,出现许多奇怪的缺陷消息。因此,强烈建议你使用GNU make(有时名为gmake)

幸运的是,大量的操作系统预装了GNU工具链或提供了可安装软件包。你可以随时从下面的地址下载:

·         http://www.gnu.org/software/autoconf/

·         http://www.gnu.org/software/automake/

·         http://www.gnu.org/software/libtool/

·         http://www.gnu.org/software/m4/

·         http://www.gnu.org/software/make/

要想配置MySQL 5.1,你还需要GNU bison 1.75或更新版。旧版本的bison会报告错误:

sql_yacc.yy:#####: fatal error: maximum table size (32767) exceeded

注释:实际上并没有超出最大表空间;这是由旧版本的bison缺陷造成的该问题。

下面的例子显示了配置源码树需要的典型命令。第一个cd命令将位置改为树的顶级目录;用相应目录名替换MySQL-5.1

shell> cd mysql-5.1
shell> bk -r edit
shell> aclocal; autoheader
shell> libtoolize --automake --force
shell> automake --force --add-missing; autoconf
shell> (cd innobase; aclocal; autoheader; autoconf; automake)
shell> (cd bdb/dist; sh s_all)
shell> ./configure  # Add your favorite options here
shell> make

对于下面的命令,可以使用BUILD/autorun.sh作为快捷方式:

shell> aclocal; autoheader
shell> libtoolize --automake --force
shell> automake --force --add-missing; autoconf
shell> (cd innobase; aclocal; autoheader; autoconf; automake)
shell> (cd bdb/dist; sh s_all)

使用将目录改为innobasebdb/dist目录的命令行来配置InnoDB Berkeley DB (BDB)储存引擎。如果你不需要InnoDBBDB支持,你可以省略这些命令行。

如果在该阶段你遇到一些奇怪的错误,请确认你是否已经安装了 libtool

标准配置脚本位于BUILD/子目录。你会发现使用BUILD/compile-pentium-debug脚本比使用前面的外壳命令要方便得多。要想在不同的架构上编译,可以修改脚本,即去掉Pentium相关标志。

12.构建完成后,运行make install。在产品机器上运行时应注意;该命令会覆盖你正使用的版本。如果你安装了另一个MySQL,我们建议你使用 与你的产品服务器上不同的--prefix--with-tcp-port--unix-socket-path选项值来运行./configure

13.强制运行新安装和尝试会破坏新功能。应先运行make test。请参见27.1.2节,“MySQL测试套件”

14.如果你已经进入make阶段而分发版不编译,请报告给我们的http://bugs.mysql.com/中的缺陷数据库。如果你已经安装了GNU工具的最新版本,如果视图处理配置文件时出错,请报告给我们。但是,如果你执行aclocal并且遇到command not found error或类似问题,不要报告给我们。而是应确保安装了所有必要的工具,并且PATH变量设置正确,保证外壳命令可以找到它们。

15.复制完库(sfioball)获得源码树后,你应当定期更新库(update)

16.你可以检查树的更改史,浏览源码树中的BK/ ChangeLog文件并查看ChangeSet描述找到所有不同点。要想检查特殊的更改集,必须使用sfioball命令提取源码树的两次不同的修订,然后使用外部diff命令来比较。如果你看到有疑问的奇怪的不同之处或代码,一定要向MySQL internals邮件列表发送邮件。请参见1.7.1.1节,“The MySQL邮件列表”。并且,如果你有更好的思想,请向上述地址发送邮件。

17.BitKeeper免费客户端预装了源码。免费客户端可用的唯一文档是源码本身。

你还可以在线浏览更改集、注释和源码。要想浏览MySQL 5.1的相关信息,请到http://mysql.bkbits.net:8080/mysql-5.1