linux下MySql 5.0.x的安装
groupadd mysql
新建一个名为mysql的用户组
useradd -g mysql mysql
在mysql用户组下新建一个名为mysql的用户
gunzip 解压下载到的。gz文件
cd mysql-VERSION
进入解压后的目录
CFLAGS=”-O3 -mcpu=pentium4″ CXX=gcc CXXFLAGS=”-O3 -march=pentium4 -felide-constructors -fno-exceptions -fno-rtti” ./configure –prefix=/home/mysql/ –without-debug –with-unix-socket-path=/home/mysql/tmp/mysql.sock –with-client-ldflags=-all-static –with-mysqld-ldflags=-all-static –enable-assembler –with-extra-charsets=gbk,gb2312,utf8 –without-innodb –without-isam –with-pthread –enable-thread-safe-client
配置mysql
gcc的相关参数:
-O3 \
-O
-O1
优化。对于大函数,优化编译占用稍微多的时间和相当大的内存。
不使用`-O’选项时,编译器的目标是减少编译的开销,使编译结果能够调试。语句是独立的:如果在 两条语句之间用断点中止程序,你可以对任何变量重新赋值,或者在函数体内把程序计数器指到其他语句,以及从源程序中 精确地获取你期待的结果。
不使用`-O’选项时,只有声明了register的变量才分配使用寄存器。编译结果比不用 `-O’选项的PCC要略逊一筹。
使用了`-O’选项,编译器会试图减少目标码的大小和执行时间。
如果指定了`-O’选项, `-fthread-jumps’和`-fdefer-pop’选项将被 打开。在有delay slot的机器上, `-fdelayed-branch’选项将被打开。在即使没有帧指针 (frame pointer)也支持调试的机器上, `-fomit-frame-pointer’选项将被打开。某些机器上 还可能会打开其他选项。
-O2
多优化一些。除了涉及空间和速度交换的优化选项,执行几乎所有的优化工作。例如不进行循环展开(loop unrolling)和函数内嵌(inlining)。和-O选项比较,这个选项既增加了编译时间,也提高了生成代码的 运行效果。
-O3
优化的更多。除了打开-O2所做的一切,它还打开了-finline-functions选项。
-O0
不优化。
如果指定了多个-O选项,不管带不带数字,最后一个选项才是生效的选项。
-mcpu=pentium4 \根据CPU类型优化编译,可以让你的mysq表现更好!可 选项目很多:i386, i486, i586, i686, pentium, pentium-mmx, pentiumpro, pentium2, pentium3, pentium4, k6, k6-2, k6-3, athlon, athlon-tbird, athlon-4, athlon-xp,athlon-mp,winchip-c6, winchip2 , c3.
-fomit-frame-pointer \对于不需要栈指针的函数就不在寄存器中保存指针,因此可以忽略存储和检索地址的代码,并将寄存器用于普通用途。所有”-O”级别都打开着一选项,但仅在调试器可以不依靠栈指针运行时才有效。建议不需要调试的情况下显式的设置它。
configure的相关参数:
–prefix=/home/mysql/ \指定安装目录
–without-debug \去除debug模式
–with-extra-charsets=gbk,gb2312,utf8 \添加gbk,gb2312,utf8中文字符支持
–with-pthread \强制使用pthread库(posix线程库)
–enable-assembler \使用一些字符函数的汇编版本
–enable-thread-safe-client \以线程方式编译客户端
–with-client-ldflags=-all-static \以纯静态方式编译客户端
–with-mysqld-ldflags=-all-static \以纯静态方式编译服务端
–without-isam \去掉isam表类型支持,现在很少用了,isam表是一种依赖平台的表
–without-innodb \去掉innodb表支持,innodb是一种支持事务处理的表,适合企业级应用