编译安装MySQL-5.5

cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一

个源码树上可以进行多次不同的编译,如针对于不同平台编译。

 

编译安装MySQL-5.5
一、安装cmake

跨平台编译器

# tar xf cmake-2.8.8.tar.gz
# cd cmake-2.8.8
# ./bootstrap
# make
# make install


二、创建LVM虚拟磁盘

创建一个虚拟LVM用来放mysql的数据文件
首先创建一块磁盘分区,尽量使用扩展分区创建格式是8e,大小根据自己实际情况定,
创建磁盘着这里不多做掩饰,直接从创建lvm开始。

# partprobe /dev/sda
# pvcreate  /dev/sda5
# vgcreate  myvg /dev/sda5
# lvcreate  -L 5G -n mydata myvg
# mke2fs  -j /dev/myvg/mydata
# mkdir /mydata/data  -pv
# vim /etc/fstab
 /dev/myvg/mydata    /mydata     ext3    defaults    0 0

# mount -a

 


三、编译安装mysql-5.5.28

1、使用cmake编译mysql-5.5
cmake指定编译选项的方式不同于make,其实现方式对比如下:
./configure           cmake .
./configure --help    cmake . -LH or ccmake .

 

指定安装文件的安装路径时常用的选项:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/data/mysql
-DSYSCONFDIR=/etc


默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1

若要明确指定不编译某存储引擎,可以使用类似如下的选项:
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1

如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0

其它常用的选项:
-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DENABLED_LOCAL_INFILE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_DEBUG=0
-DENABLE_PROFILING=1


如果想清理此前的编译所生成的文件,则需要使用如下命令:
# make clean
# rm CMakeCache.txt


2、编译安装


# groupadd  mysql -r
# useradd  -r -g mysql -s /sbin/nologin  mysql
# chown -R  mysql.mysql /mydata/data/
# chmod o-rx /mydata/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

# cd /usr/local/mysql
# chown -R :mysql /usr/local/mysql


# cripts/mysql_install_db  --user=mysql --datadir=/mydata/data
# cp support-files/my-large.cnf  /etc/my.cnf
# cp support-files/mysql.server  /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld


# chkconfig --add mysqld
# chkconfig mysqld on
# service mysqld  start
# vim /etc/profile.d/mysql.sh
  添加下面一行
  export PATH=$PATH:/usr/local/mysql/bin

# bash /etc/profile.d/mysql.sh 
# mysql

配置到此结束!!!!