MySQL的安装笔记
时间:2006-08-26 来源:zq9711
选择binary包进行编译安装时,configure选用的参数对数据库的性能的好坏起到较为关键的影响
./configure --prefix=/usr/local/mysql \ 指定安装目录
--without-debug \去除debug模式
--with--charset=gbk \
--with-extra-charsets="gbk gb2312 big5 utf8" \添加中文字符支持
--enable-assembler \使用一些字符函数的汇编版本
--without-isam \去掉isam表类型支持 现在很少用了 isam表是一种依赖平台的表
--without-innodb \去掉innodb表支持 innodb是一种支持事务处理的表,适合企业级应用
--enable-thread-safe-client \以线程方式编译客户端
--with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static \以纯静态方式编译服务端和客户端
这里需要补充是,将mysqld编译成静态执行文件而无需共享库也能获得更好的性能
但在Solair平台上:
Solaris不提供所有系统库的静态版本(libpthreads和libdl),所以你不能用--static编译MySQL。如果你尝试这样做,你将得到错误:
ld: fatal: library -ldl: not found
(MYSQL手册上如是说)
-------------------------------------------------------
./configure --prefix=/usr/local/mysql --without-debug --with--charset=gbk --with-extra-charsets="gbk gb2312 big5 utf8" --enable-assembler --without-isam --without-innodb
-------------------------------------------------------
注意:configure时,需要保证
PATH=$PATH:/usr/ccs/bin/:/usr/local/bin:/usr/local/mysql/bin;export PATH
LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/usr/ccs/lib;export LD_LIBRARY_PATH
编译时后台会调用/usr/ccs/bin/ar等,如果PATH没有这些路径,那么你就会看到
make[3]: *** [libedit.a] Error 1
这些个报错
补充: --------- 安装发现make时(gcc 2.95.3),报错: mysqld.cc: In function `int init_common_variables(const char *, int, char **, const char **)':
mysqld.cc:2573: implicit declaration of function `int localtime_r(...)'
*** Error code 1
make: Fatal error: Command failed for target `mysqld.o'
Current working directory /sun_users/baldasj/src/mysql/mysql-5.0.22/sql
*** Error code 1
处理方法 $CFLAGS="-D_REENTRANT" CXXFLAGS="-D_REENTRANT" ./configure --prefix=/usr/local/mysql --without-debug --with--charset=gbk --with-extra-charsets="gbk gb2312 big5 utf8" --without-isam --without-innodb 就可 ------------