注意:如果你想帮助我们测试新代码,应当阅读本节。如果你只想在系统上安装并运行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。
· 确保gcc和make已经安装到Cygwin。可以用which gcc和 which make命令进行测试。如果任何一个没有安装,运行 Cygwin安装包管理器,选择gcc、make并安装。
· 在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/提供了许多格式。我们每天更新你可以下载的格式(HTML、PDF等),因此你没有必要从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 make、autoconf 2.58 (或更新版)、automake 1.8、libtool 1.5和m4来运行后面的命令。尽管许多操作系统安装了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)
使用将目录改为innobase和bdb/dist目录的命令行来配置InnoDB和 Berkeley DB (BDB)储存引擎。如果你不需要InnoDB或BDB支持,你可以省略这些命令行。
如果在该阶段你遇到一些奇怪的错误,请确认你是否已经安装了 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。