MySQL 5.5.22源码编译安装

2014-11-24 18:59:04 · 作者: · 浏览: 15

mysql 最新的版本都需要cmake编译安装,估计以后的版本也会采用这种方式,所以特地记录一下安装步骤及过程,以供参考。


以下安装中涉及的几点需要提前说明的问题:


1. 所有下载的文件将保存在 /usr/local/src/ 目录下


2. mysql 将以mysql用户运行,而且将加入 service 开机自动运行



3. mysql 将被安装在 /usr/local/mysql/ 目录下


4. mysql 默认安装使用 utf8 字符集


5. mysql 的数据和日志文件保存在 /data/mysql/ 对应目录下


6. mysql 的配置文件保存于/etc/my.cnf


一. Centos 用 wget 下载需要的软件,保存到目录 /usr/local/src/ 下



wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.22.tar.gz/from/http://mysql.he.net/


wget http://www.cmake.org/files/v2.8/cmake-2.8.7.tar.gz


wget http://ftp.gnu.org/gnu/bison/bison-2.5.tar.gz



二. 安装 cmake


cd /usr/local/src



tar zxvf cmake-2.8.7.tar.gz
cd cmake-2.8.7
./bootstrap
gmake
gmake install
cd ../


tar zxvf bison-2.5.tar.gz
cd bison-2.5
./configure
make
make install


cd ../


三. 编译安装 MySQL 5.5.22



/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql


tar xzvf mysql-5.5.22.tar.gz
cd mysql-5.5.22/


cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql -DMYSQL_USER=mysql


make
make install


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


ln -s /usr/local/mysql/lib/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16



mkdir -p /var/mysql/
mkdir -p /var/mysql/data/
mkdir -p /var/mysql/log/
chown -R mysql:mysql /var/mysql/



cd support-files/



cp my-large.cnf /etc/my.cnf (注意:my-large.cnf适用于1G内存左右的服务器,可以根据自己配置情况选用my-large.cnf 或 my-huge.cnf 等不同配置)



cp mysql.server /etc/init.d/mysqld




四. 配置启动MySQL 5.5.22


1. 若有需要请先修改 mysql 的配置 my.cnf


vi /etc/my.cnf



2. mysql 初始化安装


/usr/local/mysql/scripts/mysql_install_db \
--defaults-file=/var/mysql/my.cnf \
--basedir=/usr/local/mysql \
--datadir=/var/mysql/data \
--user=mysql



3. 将 mysql 加入开机启动


chmod +x /etc/init.d/mysqld
vi /etc/init.d/mysqld (编辑此文件,查找并修改以下变量内容:)
basedir=/usr/local/mysql
datadir=/var/mysql/data


chkconfig --add mysqld
chkconfig --level 345 mysqld on


4. 启动 mysql


service mysqld start