1、创建mysql用户
# useradd -r -s /sbin/nologin -d /mysqldata/data mysql
2、在生产环境中,通常mysql的数据存放目录应该单独放在一个分区,这个分区最好做成lvm逻辑卷,方便以后空间的扩展及数据备份;此处以目录/mysqldata/data作为mysql的数据存放目录,以binlog作为mysql二进制日志文件存放目录;
# mkdir -pv /mysqldata/{data,binlog}
# chown -R mysql.mysql /mysqldata/{data,binlog}
3、MySQL-5.5以后的版本不再使用make管理,而是使用由facebook研发的cmake,因此在编译安装MySQL5.5前需要先安装cmake。cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。
# yum -y install cmake
cmake指定编译选项的方式不同于make,其实现方式对比如下:
./configure cmake .
./configure --help cmake . -LH
4、解决依赖关系
# yum -y install readline-devel zlib-devel openssl-devel
5、安装mysql
# tar xf mysql-5.5.33.tar.gz
# cd mysql-5.5.33
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mysqldata/data \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
# make
# make install
6、初始化mysql
# cd /usr/local/mysql
# chown -R .mysql ./*
# scripts/mysql_install_db --user=mysql --datadir=/mysqldata/data
提供服务脚本
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld
提供配置文件
# cp support-files/my-large.cnf /etc/my.cnf
# vim /etc/my.cnf
thread_concurrency = 2
datadir=/mysqldata/data
innodb_file_per_table=ON
log-bin=/mysqldata/binlog/master-bin
binlog_format=mixd
7、配置全局参数
编辑环境变量提供软件路径
# vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
# . /etc/profile.d/mysql.sh
提供帮助文件
# vim /etc/man.config
MANPATH /usr/local/mysql/man
输出mysql的头文件至系统头文件路径/usr/include
# ln -sv /usr/local/mysql/include /usr/include/mysql
输出mysql的库文件给系统库查找路径
# echo '/usr/local/mysql/lib/'>/etc/ld.so.conf.d/mysql.conf
让系统重新载入系统库
# ldconfig