我的操作系统:rhel6,定制安装时选择base system为默认。developmet 选择的development-tools所有可选包。
我的操作系统:rhel6,定制安装时选择base system为默认。developmet 选择的development-tools所有可选包。
安装mysql5.5要求安装ncurses-devel包。我的系统没有装,从光盘yum安装或者rpm安装。
Oracle新释出5.5版本要用cmake来编译源码包。所以还要安装cmake。我下载的cmake2.8,于是卸载了原系统的cmake2.6。
编译时进入解压后的mysql目录,查看一下INSTALL-SOURCE文件,里面介绍了各种操作系统平台mysql的安装方法。不过我大略看了一下好像是没写怎么定制安装。这时我们可以打开同目录下的BUILD-CMAKE文件,里面介绍了如何使用cmake来configuration parameters。于是我们可以在当前目录下输入cmake -L;要查看带简短解释的编译属性用cmake -LH;再全一点可以用cmake -LAH。
这里我把安装cmake和mysql的过程写入了一个脚本:
#! /bin/bash
cmakever=cmake-2.8.3
mysqlver=mysql-5.5.12
mysql_home=/usr/local/mysql
########################
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
mkdir /opt/data
chown -R mysql.mysql /opt/data
mkdir /usr/local/mysql
tar zxvf $cmakever.tar.gz
cd $cmakever
./configure;make;make install
cd -
tar zxvf $mysqlver.tar.gz
cd $mysqlver
cmake . -DCMAKE_INSTALL_PREFIX=$mysql_home \
-DINSTALL_DATADIR=/opt/data -DDEFAULT_CHARSET=utf8 \
-DEXTAR_CHARSETS=all -DENABLED_LOCAL_INFILE=1 \
mv /etc/my.cnf /etc/my.cnf.old
mv /etc/my.cnf.new /etc/my.cnf
$mysql_home/scripts/mysql_install_db --datadir=/opt/data --basedir=$mysql_home \
--user=mysql > /dev/null 2>&1
#./bin/mysqld_safe --user=mysql & > /dev/null 2>&1
cp -f $mysql_home/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add /etc/init.d/mysqld
chkconfig --level 35 mysqld on
echo "export PATH=$PATH:$mysql_home/bin" >> /etc/profile
source /etc/profile
service mysqld start
注:两个标红的地方都是一行,其中第一个是我定制的编译选项,,第二个是用sed在my.cnf中加入字符编码和数据目录。因为我在安装时自定义了数据目录。如果不编辑默认的配置文件总是在mysql_install_db那一步就出错。