FreeBSD6下手工编译MySQL5
根据 FreeBSD maillist、google 获知 libthr 这样1:1 的线程库比较适合 MySQL 运行。
编译参数
默认启用archive类型存储格式,启用支持大表,启用OpenSSL支持注1
默认使用thr线程库
# ./configure --prefix=/usr/local/mysql --without-debug --without-bench --enable-thread-safe-client --enable-assembler --with-extra-charsets=complex --with-named-thread-libs='-lthr' --with-archive-storage-engine --with-big-tables --with-openssl
# gmake all install-strip
性能调节:
- configure时候增加以下env可以为P4系列cpu优化
CFLAGS='-O2 -pipe -mtune=pentium4 -mmmx -msse -msse2 -mfpmath=sse' CXXFLAGS='-O2 -pipe -mtune=pentium4 -mmmx -msse -msse2 -mfpmath=sse'
P3系列CFLAGS='-O2 -pipe -mtune=pentium3 -mmmx -msse -mfpmath=sse' CXXFLAGS='-O2 -pipe -mtune=pentium4 -mmmx -msse -mfpmath=sse'
CC,C++的优化指令会减慢编译速度20%左右,性能提高约4%左右 - 注1: 当编译OpenSSL支持的时候,MySQL不能编译为静态链接程序。
如果不用OpenSSL,可以在configure添加--with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static
编译为静态链接将提高约2%左右的性能