对linux的菜鸟我来说,装上这个有难度,特意记下来。
安装的系统是centos.升级到最高版本2.6.34,但是没成功,还没找原因。
root@localhost lost+found)#rpm -i mysql-common-5.1.48-1.rhel5.src.rpm
RPM build errors:
user mysqldev does not exist - using root
usergroup mysqldev does not exist - using root
没用户和用户组好办,加上。
#useradd mysqldev
#groupadd mysqldev
root@localhost lost+found)#rpm -ivh mysql-common-5.1.48-1.rhel5.src.rpm
没出问题,百分之百后,它干什么了?。。。。
找了下,原来把源代码拿到/usr/src/redhat/SPECS 下面来了,文件夹里有个 mysql-5.1.48-1.rhel5.spec文件
root@localhost lost+found)#cd /usr/src/redhat/SPECS
网上找找怎么装的,发现要rpmbuild
root@localhost SPECS )#rpmbuild -bp mysql-5.1.48-1.rhel5.spec
出错了error.parse error in expression.在273行parseExpressionBoolean return -1;
头疼,找找原因先:原因,mysql的安装包中一个变量community的初始值需要设置,增加 --define 'community 1'即ok。
root@localhost SPECS )#rpmbuild -bp --define 'community 1' mysql-5.1.48-1.rhel5.spec
又出错了。
error:Failed build dependencies.
少了.gperf,readline-devel,gcc-c++,zlib-devel,libtool,automake,autoconf这些东西,不人道啊。。。
好像是开发库的东西。我决定yum一下搞定这些东西,怕怕了它,看能不能一下全搞定。
root@localhost SPECS )#yum -y groupinstall "Development Tools"
root@localhost SPECS )#yum -y groupinstall "Development Libraries"
说yum好也实在是方便,说它不好呢,我实在找不到它把软件装哪里去了。
终于安装完毕,再试试。
root@localhost SPECS )#rpmbuild -bp --define 'community 1' mysql-5.1.48-1.rhel5.spec
error:Failed build dependencies.
还是少了.gperf,这玩意到底什么。google告诉我它是一种“完美的” 散列函数,可以为用户提供的一组特定字符串生成散列表、散列函数和查找函数的C/C++ 代码.高深,反正我不懂装就是了,yum还没有,真是很气人啊。谷歌又告诉我:The latest release is http://ftp.gnu.org/pub/gnu/gperf/gperf-3.0.4.tar.gz ,得马上找他。
root@localhost SPECS )#wget http://ftp.gnu.org/pub/gnu/gperf/gperf-3.0.4.tar.gz
root@localhost SPECS )#gunzip gperf-3.0.4.tar.gz
root@localhost SPECS )#tar -xvf gperf-3.0.4.tar
root@localhost SPECS )#cd gperf-3.0.4
准备安装了,先找找要要configure什么一些参数。
郁闷,找的时候发现开始装gperf的时候打错字了,还以为没有。又用yum装下.gperf-3.04下面的Makefile有好几个,不知道改哪个装比较好。用yum装好了,我再来试试.
root@localhost SPECS )#rpmbuild -bp --define 'community 1' mysql-5.1.48-1.rhel5.spec
一阵眼花缭乱的文字翻滚,它成功了。下面我们干啥呢,刚刚这条命令做了什么,找了才知道这是编译,下面跑到build目录去安装
root@localhost SPECS )#cd ../BUILD/mysql-5.1.48
root@localhost mysql-5.1.48)#ls
哇终于发现了比较熟悉的安装包目录文件.
开始安装
root@localhost mysql-5.1.48)#groupadd mysql
root@localhost mysql-5.1.48)#useradd -g mysql mysql
root@localhost mysql-5.1.48)#./configure \
> --prefix=/httpd/mysql --sysconfdir=/httpd/mysql --enable-assembler \
> --with-unix-socket-path=/tmp/mysql.sock --with-mysqld-user=mysql \
> --with-mysqld-ldflags=-a-static --with-innodb --with-extra-charsets=all \
> --with-charset=gb2312 --with-collation=gb2312_chinese_ci \
最讨厌这时候了,这么长容易写错,我就错了个参数,这些安装包好好弄个sh文件来configure一下。太伤心了,于是想想还是自己写一个脚本configure.para文件。格式
#!/bin/bash
PREFIX=/httpd/mysql
./configure --prefix=$PREFIX
用文件一试,准确无误。
root@localhost mysql-5.1.48)#make
root@localhost mysql-5.1.48)#make install
等待了N久后编译完成。
root@localhost mysql-5.1.48)#cp support-files/my-medium.cnf /etc/my.cnf
root@localhost mysql-5.1.48)# ./scripts/mysql_install_db --user=mysql
一连串的字符后完成脚本运行,这时候看看安装文件/httpd/mysql有东西了
root@localhost mysql-5.1.48)# cd /httpd/mysql
root@localhost mysql)# chown -R root .
root@localhost mysql)# chown -R mysql var
root@localhost mysql)# chown -R mysql var/.
root@localhost mysql)# chown -R mysql var/mysql/.
root@localhost mysql)# chgrp -R mysql .
root@localhost mysql)# cd /usr/src/redhat/BUILD/mysql-5.1.48
0赞