手动编译安装mysql-5.5.28a

cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。
编译安装cmake
  
  
  
  
  1. # tar xf cmake-2.8.8.tar.gz 
  2. # cd cmake-2.8.8 
  3. # ./configure 
  4. # make  
  5. # make install 
编译安装mysql-5.5.28a
cmake指定编译选项的方式不同于make,其实现方式对比如下:
./configure对应的是           cmake .
./configure --help 对应的是   cmake . -LH 或者是 ccmake .
创建mysql用户与组
  
  
  
  
  1. # groupadd -r mysql 
  2. # useradd -g mysql -r  -s /sbin/nologin mysql 
准备mysql的数据目录
  
  
  
  
  1. # fdisk /dev/sda   -----创建一个新分区类型为8e,创建分区过程就不再给出了 
  2. 创建一个逻辑卷 
  3. # partprobe /dev/sda 
  4. # pvcreate /dev/sda5 
  5. # vgcreate myvg /dev/sda5 
  6. # lvcreate -L 10G -n mydata myvg 
  7. # mke2fs -j /dev/myvg/mydata  

挂载选项设置
  
  
  
  
  1. # vim /etc/fstab 
  2. 添加内容如下 
  3. /dev/myvg/mydata        /mydata         ext3    defaults        0 0 
  4. 保存退出 
  5. # mount -a 
数据目录配置
  
  
  
  
  1. # cd /mydata 
  2. # mkdir data 
  3. # chown -R mysql.mysql data 
编译安装
  
  
  
  
  1. # tar xf mysql-5.5.28.tar.gz 
  2. # cd mysql-5.5.28 
  3. # cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 
  4. -DMYSQL_DATADIR=/mydata/data \ 
  5. -DSYSCONFDIR=/etc \ 
  6. -DWITH_INNOBASE_STORAGE_ENGINE=1 \ 
  7. -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ 
  8. -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ 
  9. -DWITH_READLINE=1 \ 
  10. -DWITH_SSL=system \ 
  11. -DWITH_ZLIB=system \ 
  12. -DWITH_LIBWRAP=0 \ 
  13. -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ 
  14. -DDEFAULT_CHARSET=utf8 \ 
  15. -DDEFAULT_COLLATION=utf8_general_ci 
  16. # make  
  17. # make install 
指定安装文件的安装路径时常用的选项
  
  
  
  
  1. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql     ----指定残可安装路径(默认的就是/usr/local/mysql) 
  2. -DMYSQL_DATADIR=/data/mysql          ----mysql的数据文件路径 
  3. -DSYSCONFDIR=/etc                -----配置文件路径 
编译过程 中启用其他存储引擎时指令介绍
  
  
  
  
  1. -DWITH_INNOBASE_STORAGE_ENGINE=1         ----使用INNOBASE存储引擎 
  2. -DWITH_ARCHIVE_STORAGE_ENGINE=1          -----常应用于日志记录和聚合分析,不支持索引 
  3. -DWITH_BLACKHOLE_STORAGE_ENGINE=1        -----黑洞存储引擎 
编译过程中取消一些存储引擎指令介绍
  
  
  
  
  1. -DWITHOUT_<ENGINE>_STORAGE_ENGINE=1 
  2. 示例如下: 
  3. -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 
  4. -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 
  5. -DWITHOUT_PARTITION_STORAGE_ENGINE=1 
编译进过程中功能启用的指令介绍
  
  
  
  
  1. -DWITH_READLINE=1       ----支持批量导入mysql数据 
  2. -DWITH_SSL=system       ----mysql支持ssl会话,实现基于ssl的数据复 
  3. -DWITH_ZLIB=system      ----压缩库 
  4. -DWITH_LIBWRAP=0        ---是否可以基于WRAP实现访问控制 
其他功能指令
  
  
  
  
  1. -DMYSQL_TCP_PORT=3306                   ----默认端口 
  2. -DMYSQL_UNIX_ADDR=/tmp/mysql.sock       ----默认套接字文件路径 
  3. -DENABLED_LOCAL_INFILE=1                -----是否启用LOCAL_INFILE功能 
  4. -DEXTRA_CHARSETS=all                    -----是否支持额外的字符集 
  5. -DDEFAULT_CHARSET=utf8                  -----默认编码机制 
  6. -DDEFAULT_COLLATION=utf8_general_ci     -----设定默认语言的排序规则 
  7. -DWITH_DEBUG=0                          -----DEBUG功能设置 
  8. -DENABLE_PROFILING=1                    -----性能分析功能是否启用 
准备 mysql服务脚本
  
  
  
  
  1. # cd /usr/local/mysql/ 
  2. # cp support-files/mysql.server /etc/init.d/mysqld 
准备mysql的配置文件
  
  
  
  
  1. # cp support-files/my-large.cnf /etc/my.cnf 
  2. 编辑配置文件指定数据目录位置 
  3. # vim /etc/my.cnf 
  4. 添加指令: 
  5. datadir = /mydata/data 
初始、启动mysql
  
  
  
  
  1. # chown :mysql /usr/local/mysql/ -R 
  2. # /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/mydata/data 
  3. 启动mysql 
  4. # chkconfig --add mysqld 
  5. # /etc/init.d/mysqld start 
将mysql命令添加到环境变量中
  
  
  
  
  1. 添加内容: 
  2. export PATH=$PATH:/usr/local/mysql/bin 
  3. 保存退出 
  4. 读取环境变量配置,让mysql命令立即生效 
  5. # . /etc/profile.d/mysql.sh  
输出mysql的man手册到man命令的查找路径
  
  
  
  
  1. # vim /etc/man.config  
  2. 添加内容如下: 
  3. MANPATH /usr/local/mysql/man 
输出mysql的库文件
  
  
  
  
  1. # vim /etc/ld.so.conf.d/mysql.conf 
  2. 添加内容如下: 
  3. /usr/local/mysql/lib/ 
  输出mysql的头文件到系统头文件
  
  
  
  
  1. # ln -sv /usr/local/mysql/include/ /usr/include/mysql 
到这里整个编译过程就结束了

你可能感兴趣的:(mysql)