您的位置:首页 > 数据库 > MySQL

手动编译安装mysql-5.5.28a

2013-04-28 12:45 363 查看
cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。
编译安装cmake
# tar xf cmake-2.8.8.tar.gz
# cd cmake-2.8.8
# ./configure
# make
# make install

编译安装mysql-5.5.28a
cmake指定编译选项的方式不同于make,其实现方式对比如下:
./configure对应的是 cmake .
./configure --help 对应的是 cmake . -LH 或者是 ccmake .
创建mysql用户与组
# groupadd -r mysql
# useradd -g mysql -r  -s /sbin/nologin mysql

准备mysql的数据目录
# fdisk /dev/sda   -----创建一个新分区类型为8e,创建分区过程就不再给出了
创建一个逻辑卷
# partprobe /dev/sda
# pvcreate /dev/sda5
# vgcreate myvg /dev/sda5
# lvcreate -L 10G -n mydata myvg
# mke2fs -j /dev/myvg/mydata




挂载选项设置

# vim /etc/fstab
添加内容如下
/dev/myvg/mydata        /mydata         ext3    defaults        0 0
保存退出
# mount -a

数据目录配置
# cd /mydata
# mkdir data
# chown -R mysql.mysql data

编译安装
# tar xf mysql-5.5.28.tar.gz
# cd mysql-5.5.28
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mydata/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

指定安装文件的安装路径时常用的选项
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql     ----指定残可安装路径(默认的就是/usr/local/mysql)
-DMYSQL_DATADIR=/data/mysql                 ----mysql的数据文件路径
-DSYSCONFDIR=/etc                           -----配置文件路径

编译过程中启用其他存储引擎时指令介绍
-DWITH_INNOBASE_STORAGE_ENGINE=1           ----使用INNOBASE存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1            -----常应用于日志记录和聚合分析,不支持索引
-DWITH_BLACKHOLE_STORAGE_ENGINE=1          -----黑洞存储引擎

编译过程中取消一些存储引擎指令介绍
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
示例如下:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1

编译进过程中功能启用的指令介绍
-DWITH_READLINE=1       ----支持批量导入mysql数据
-DWITH_SSL=system       ----mysql支持ssl会话,实现基于ssl的数据复
-DWITH_ZLIB=system      ----压缩库
-DWITH_LIBWRAP=0        ---是否可以基于WRAP实现访问控制

其他功能指令
-DMYSQL_TCP_PORT=3306                   ----默认端口
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock       ----默认套接字文件路径
-DENABLED_LOCAL_INFILE=1                -----是否启用LOCAL_INFILE功能
-DEXTRA_CHARSETS=all                    -----是否支持额外的字符集
-DDEFAULT_CHARSET=utf8                  -----默认编码机制
-DDEFAULT_COLLATION=utf8_general_ci     -----设定默认语言的排序规则
-DWITH_DEBUG=0                          -----DEBUG功能设置
-DENABLE_PROFILING=1                    -----性能分析功能是否启用

准备mysql服务脚本
# cd /usr/local/mysql/
# cp support-files/mysql.server /etc/init.d/mysqld

准备mysql的配置文件
# cp support-files/my-large.cnf /etc/my.cnf
编辑配置文件指定数据目录位置
# vim /etc/my.cnf
添加指令:
datadir = /mydata/data

初始、启动mysql
# chown :mysql /usr/local/mysql/ -R
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/mydata/data
启动mysql
# chkconfig --add mysqld
# /etc/init.d/mysqld start




将mysql命令添加到环境变量中
添加内容:
export PATH=$PATH:/usr/local/mysql/bin
保存退出
读取环境变量配置,让mysql命令立即生效
# . /etc/profile.d/mysql.sh

输出mysql的man手册到man命令的查找路径
# vim /etc/man.config
添加内容如下:
MANPATH /usr/local/mysql/man

输出mysql的库文件
# vim /etc/ld.so.conf.d/mysql.conf
添加内容如下:
/usr/local/mysql/lib/




输出mysql的头文件到系统头文件
# ln -sv /usr/local/mysql/include/ /usr/include/mysql

到这里整个编译过程就结束了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql