1.创建数据库帐户
[root@test ~]# useradd -M -s /sbin/nologin mysql
2.解压源码包
[root@test ~]# tar zxvf mysql-5.0.56.tar.gz
[root@test ~]# cd /usr/src/mysql-5.0.56
3.配置
[root@test mysql-5.0.56]# ./configure --prefix=/usr/local/mysql
注:按照上面方法编译的时候出现如下错误:
checking for tgetent in -ltermcap... nochecking for termcap functions library... configure: error: No curses/termcap library found
经过搜索找到解决方法:
编译的时候加上:--with-named-curses-libs=/usr/lib/libncursesw.so.5
[root@test mysql-5.0.56]# ./configure --prefix=/usr/local/mysql --with-named-curses-libs=/usr/lib/libncursesw.so.5
4.编译并安装
[root@test mysql-5.0.56]# make
出错:
../depcomp: line 512: exec: g++: not found
make[2]: *** [my_new.o] Error 127
make[2]: Leaving directory `/usr/src/mysql-5.0.56/mysys'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/mysql-5.0.56'
make: *** [all] Error 2
解决方法:yum install -y gcc-c++
还是出错:
../include/my_global.h:984: error: redeclaration of C++ built-in type ‘bool’
make[2]: *** [my_new.o] Error 1
make[2]: Leaving directory `/usr/src/mysql-5.0.56/mysys'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/mysql-5.0.56'
make: *** [all] Error 2
是因为gcc-c++是在configure之后安装的,此时只需重新configure后再编译make即可。
又出错了:
g++: /usr/lib/libncursesw.so.5: No such file or directory
make[2]: *** [mysql] Error 1
make[2]: Leaving directory `/usr/src/mysql-5.0.56/client'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/mysql-5.0.56'
make: *** [all] Error 2
原来配置时--with-named-curses-libs=/usr/lib/libncursesw.so.5 不存在,经搜索在/lib下,遂作软链接重试(或配置的时候就写/lib/libncursesw.so.5)。
[root@test mysql-5.0.56]# make install
5.建立配置文件:
[root@test mysql-5.0.56]# cp support-files/my-medium.cnf /etc/my.cnf
6.初始化数据库:
[root@test mysql-5.0.56]# /usr/local/mysql/bin/mysql_install_db --user=mysql
[root@test mysql-5.0.56]# chown -R root.mysql /usr/local/mysql/
[root@test mysql-5.0.56]# chown -R mysql /usr/local/mysql/var/
7.调整lib库路径:
[root@test mysql-5.0.56]# echo "/usr/local/mysql/lib/mysql" >>/etc/ld.so.conf
[root@test mysql-5.0.56]# ldconfig
8.Mysql启动控制:
[root@test mysql-5.0.56]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
[root@test ~]# netstat -anpt |grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 11153/mysqld
9.将mysqld添加为系统服务:
[root@test mysql-5.0.56]# cp support-files/mysql.server /etc/init.d/mysqld
[root@test mysql-5.0.56]# chmod +x /etc/init.d/mysqld
[root@test mysql-5.0.56]# chkconfig --add mysqld
[root@test mysql-5.0.56]# chkconfig mysqld on
10.设置Mysql程序的执行路径:
[root@test mysql-5.0.56]# export PATH=$PATH:/usr/local/mysql/bin
[root@test mysql-5.0.56]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile