centos5.8 6.2 6.3编译安装mysql5.5.25a

#Set timezone 设置+8中国时区并同步时间
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
yum install -y ntp
ntpdate -u pool.ntp.org
date

#注意!!!请看清楚你需要卸载的软件,这里我全卸载,做纯mysql数据库服务器。
rpm -qa|grep httpd
rpm -e httpd
rpm -qa|grep mysql
rpm -e mysql
rpm -qa|grep php
rpm -e php
yum -y remove httpd*
yum -y remove php*
yum -y remove mysql-server mysql
yum -y remove php-mysql
yum -y install yum-fastestmirror
yum -y remove httpd

#Disable SeLinux 关闭selinux
if [ -s /etc/selinux/config ]; then
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
fi

#更新系统、更新系统组件包
cp /etc/yum.conf /etc/yum.conf.back
sed -i ‘s:exclude=.*:exclude=:g’ /etc/yum.conf
for packages in patch make gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel vim-minimal nano fonts-chinese gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap;
do yum -y install $packages; done
mv -f /etc/yum.conf.back /etc/yum.
yum -y update

#建立软件源码包存放文件夹
mkdir /data0/software
cd /data0/software
#下载cmake(MySQL5.5x系列编译工具”必须”)
wget -c http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz
#下载MySQL5.5.25a(2012年7月9日为止最新稳定版)
wget -c http://mysql.mirror.kangaroot.net/Downloads/MySQL-5.5/mysql-5.5.25a.tar.gz

tar zxvf cmake-2.8.8.tar.gz
cd cmake-2.8.8
./configure
make
make install
cd..

groupadd mysql
useradd -s /sbin/nologin -M -g mysql mysql
mkdir -p /data0/mysql
chown -R mysql:mysql /data0/mysql
tar zxvf mysql-5.5.25a.tar.gz
cd mysql-5.5.25a
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data0/mysql
make
make install
cd ..

chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql

cd /usr/local/mysql
./scripts/mysql_install_db –datadir=/data0/mysql –user=mysql
cp ./support-files/my-huge.cnf /etc/my.cnf
#拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
vi /etc/my.cnf
#编辑配置文件,在 [mysqld] 部分增加下面一行
datadir = /data0/mysql
#添加MySQL数据库路径
:wq!
#保存退出
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
#把Mysql加入系统启动
chmod 755 /etc/init.d/mysqld
#增加执行权限
chkconfig mysqld on
#设置开机启动
vi /etc/rc.d/init.d/mysqld
#编辑
basedir = /usr/local/mysql
#MySQL程序安装路径
datadir = /data0/mysql
#MySQl数据库存放目录
service mysqld start
#启动
vi /etc/profile
#把mysql服务加入系统环境变量:在最后添加下面这一行
export PATH=$PATH:/usr/local/mysql/bin
:wq! #保存退出

#设置root密码为root,并删除其他不安全账户。
mysqlrootpwd=”root”
/usr/local/mysql/bin/mysqladmin -u root password $mysqlrootpwd
cat > /tmp/mysql_sec_script<<EOF
use mysql;
update user set password=password(‘$mysqlrootpwd’) where user=’root’;
delete from user where not (user=’root’) ;
delete from user where user=’root’ and password=”;
drop database test;
DROP USER ”@’%’;
flush privileges;
EOF
/usr/local/mysql/bin/mysql -u root -p$mysqlrootpwd -h localhost < /tmp/mysql_sec_script
rm -f /tmp/mysql_sec_script

#设置libmysqlclient的软链,防止编译其它依赖Mysql软件时出现libmysqlclient.so.18: cannot open shared object file 的错误
#32位系统下的MYSQL客户端软链接
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

#64位系统下的MYSQL客户端软链接
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18

参考文献:
http://www.osyunwei.com/archives/4199.html
http://2526575.blog.51cto.com/2516575/565506
http://lnmp.org

打赏

1 评论

  1. 有时间了写个一件编译安装 fastcgi php 5.3.14 mysql5.5.25a nginx 一键shell方便自己部署~

发表评论

电子邮件地址不会被公开。 必填项已用*标注