RHEL Server 6.3下MySQL5.5.25a源码安装

2014-11-24 18:45:16 · 作者: · 浏览: 0

OS:RHEL Server 6.3


MySQL:mysql-5.5.25a.tar.gz


相关依赖包:


ncurses-5.9.tar.gz


bison-2.5.tar.gz


安装MySQL


一、安装依赖包


(1)ncurses


[root@test ~]# cd /data1/lnmp/


[root@test lnmp]# tar -xzf ncurses-5.9.tar.gz


[root@test lnmp]# cd ncurses-5.9


[root@test ncurses-5.9]# ./configure


[root@test ncurses-5.9]# make && make install


(2)bison


[root@test lnmp]# tar -xzf bison-2.5.tar.gz


[root@test lnmp]# cd bison-2.5


[root@test bison-2.5]# ./configure


[root@test bison-2.5]# make && make install


[root@test lnmp]# tar -xzf cmake-2.8.8.tar.gz


[root@test lnmp]# cd cmake-2.8.8


[root@test cmake-2.8.8]#./configure


[root@test cmake-2.8.8]#make && make install


三、源码安装 MySQL


(1)建立运行MySQL的用户和组


[root@test ~]# groupadd mysql


[root@test ~]# useradd -M -g mysql -s /sbin/nologin mysql


(2)建立相关目录


[root@test ~]# mkdir /usr/local/mysql


[root@test ~]# mkdir /var/lock/mysql


[root@test ~]# mkdir /var/run/mysql


[root@test ~]# mkdir /var/log/mysql


[root@test ~]# mkdir /data1/mysql_db



------------------------------------------------------------------------------------------


注意:


之所以要创建/var/lock/mysql/var/run/mysql目录,这是因为mysql server是用mysql这个用户启动的。/var/lock//var/run/这两个目录只有root才有写的权限,所以mysql这个用户不能在其中建立mysql.lockmysql.pid文件。所以要在/var/lock//var/run/这两个目录分别再建立一个目录,例如:mysql。并把这个目录所有者和群组改为mysql这具用户和群组。此种做法也是为了便于管理,例如把日志存放在/var/log/mysql/,日志只会在这一个目录下轮转,便于管理#chown mysql:mysql /var/run/mysql/ /var/lock/mysql/ /var/log/mysql/


错误:


如果数据库 /data1/mysql_db/ 目录权限设置不正确,在启动 mysql 时可能会出现下面的错误。


[root@test ~]# tail /var/log/mysql.log


120713 17:15:21 mysqld_safe Starting mysqld daemon with databases from /data1/mysql_db


/usr/local/mysql/bin/mysqld: File './mysql-bin.index' not found (Errcode: 13)


120713 17:15:21 [ERROR] Aborting




120713 17:15:21 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete




120713 17:15:21 mysqld_safe mysqld from pid file /var/run/mysql/mysql.pid ended


(3)源码安装 MySQL


[root@test ~]# cd /data1/lnmp/


[root@test lnmp]# tar -xzf mysql-5.5.25a.tar.gz


[root@test lnmp]# cd mysql-5.5.25a


根据 cmake 时指定的配置参数和 my.cnf 配置文件中的参数修改 mysqld 这个脚本中的变量;my.cnf 配置文件中的参数优先于 cmake 时指定的参数。如果 my.cnf 配置文件没有设置对应的参数,则数据库运行时会以 cmake 时指定的参数为准。my.cnf 中参数优先级高于 cmake 时的配置参数。


[root@test ~]# vim /etc/rc.d/init.d/mysqld


basedir=/usr/local/mysql


datadir=/data1/mysql_db


lockdir='/var/lock/mysql'


lock_file_path="$lockdir/mysql.lock"