目录
这个附录帮助你把MySQL移植到其它操作系统。请先查看一下当前支持操作系统列表。请参阅http://www.mysql.com/),推荐给其它的用户。
注意:如果你创建一个新的MySQL移植,你可以在GPL许可证下任意复制和发布它,但这不能使你成为MySQL的版权持有者。
这个服务器需要一个正在工作的POSIX 线程库在。在Solaris 2.5 上我们使用Sun PThreads (在2.4版和更早的版本上,原生线程支持得不是很好),在Linux上,我们使用Xavier Leroy<Xavier.Leroy@inria.fr>的LinuxThreads。
对于那些对原生线程支持不好的新Unix变体,移植到其上的艰难部分大概就是移植MIT-pthreads包。请参阅mit-pthreads/README 和Programming POSIX Threads (http://www.humanfactor.com/pthreads/)。
直到MySQL 4.0.2版,MySQL发布包包括来自MIT经过补丁的Chris Provenzano的Pthreads(请参阅MIT Pthreads 网页http://www.mit.edu/afs/sipb/project/pthreads/ 以及http://www.mit.edu:8001/people/proven/IAP_2000/上的编程指导)。对于某些没有POSIX线程的操作系统可能有用。请参阅2.8.5节,“MIT-pthreads 注意事项”。
也可能会用到另一个名为 FSU Pthreads的用户级线程软件包(请参阅http://moss.csc.ncsu.edu/~mueller/pthreads/)。 这个工具被用来到SCO的移植。
参阅 mysys目录下的thr_lock.c 和thr_alarm.c 程序获取一些关于这些问题的测试/例子。
服务器和客户端需要一个能用的C++编译器。我们在很多平台上使用gcc。其它编译器,据了解,可用的编译器是SPARCworks, Sun Forte, Irix cc, HP-UX aCC, IBM AIX xlC_r), Intel ecc/icc 和 Compaq cxx)。
要仅编译客户端,请使用./configure --without-server.
现在不支持仅编译服务器,也不能加这个功能,除非有人找出一个好的理由。
如果你想/需要改变任何Makefile 或配置脚本,你也会需要到GNU Automake 和 Autoconf。请参阅2.8.3节 ,“从开发源树安装”。
所有步骤需要从最基本的文件重新生成(remake)所有东西。
/bin/rm */.deps/*.P /bin/rm -f config.cache aclocal autoheader aclocal automake autoconf ./configure --with-debug=full --prefix='your installation directory' # The makefiles generated above need GNU make 3.75 or newer. # (called gmake below) gmake clean all install init-db
如果在新移植MySQL上遇到问题,最好做一些调试!请参阅E.1节,“调试MySQL服务器”。
注意:在你开始调试mysqld之前,首先要让测试程序mysys/thr_alarm和mysys/thr_lock工作。这会确保你的线程安装只有非常小的机会能运行!