在工作环境中MySQL至关重要,编译安装是必不可少的!

编译安装MySQL-5.5

MySQL-5.5的 编译要在cmake平台上实现,而redhat没有提供cmake平台,因此要先编译安装cmake平台,而mysql初始化要用到mysql用户,mysql组,还要有事先添加mysql用户、mysql组,为了将来能更好的管理数据库,需创建逻辑卷,使数据库的容量能够随时变大!

一、添加mysql用户和组,创建逻辑卷

# groupadd -r mysql
# useradd -g mysql -r -M -s /sbin/nologin mysql
# pvcreate /dev/sda5
# vgcreate myvg /dev/sda5
# lvcreate -n mylv -L 5G myvg
# mke2fs -j /dev/myvg/mylv

创建/mydata目录用于挂载逻辑卷,并在逻辑卷中创建一个属主、属组都为mysqldata目录,用于存放数据

# mkdir /mydata
# mount /dev/myvg/mylv /mydata
# mkdir /mydata/data
# chown -R mysql:mysql /mydata/data

二、下载cmake安装包,安装编译环境!

# yum groupinstall ‘Development Libraries’‘Development Tools’ -y
# tar -xf cmake-2.8.8.tar.gz
# cd cmake-2.8.8
# ./configure
# make
# make install

三、编译安装mysql-5.5.25a

Cmake平台的编译方式不同于make,其编译为“cmake .”可以通过“cmake . -LH”或“ccmake .”获取帮助。

主要操作步骤:cmake . --> make --> make install

指定安装文件的安装路径时常用的选项:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql#安装路径

-DMYSQL_DATADIR=/mydata/data#数据库安装路径

-DSYSCONFDIR=/etc#配置文件安装路径

默认编译的存储引擎包括:csvmyisammyisammrgheap。若要安装其它存储引擎,可以使用类似如下编译选项:

-DWITH_INOBASE_STORAGE_ENGINE=1#编译时使用InnoDB引擎

-DWITH_ARCHIVE_STORAGE_ENGINE=1#使用archive

-DWITH_BLACKHOLE_STORAGE_ENGINE=1#编译使用blackhole

-DWITH_FEDERATED_STORAGE_ENGINE=1#编译使用federate

若要明确指定不编译某存储引擎,可以使用类似如下的选项:

-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1

比如:

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1

-DWITHOUT_FEDERATED_STORAGE_ENGINE=1

-DWITHOUT_PARTITION_STORAGE_ENGINE=1

如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:

-DWITH_READLINE=1#开启readline共能

-DWITH_SSL=system#开启ssl功能

-DWITH_ZLIB=system#开启数据压缩库,在传输时能够实现数据的压缩

-DWITH_LIBWRAP=0

其它常用的选项:

-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#启用profiling性能分析功能

如果想清理此前的编译所生成的文件,则需要使用如下命令:

make clean

rm CMakeCache.txt

开始安装!

# tar -xf mysql-5.5.25a.tat.gz
# cd mysql-5.5.25a
# 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

修改mysql个文件的属组为mysql

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

初始化数据库

# scripts/mysql_install_db --user=mysql --datadir=/mydata/data

复制配置文件到系统目录

# cp support-files/my-large.cnf /etc/my.cnf
# vim /etc/my.cnf

编译安装Mysql-5.5.25a_cmake平台编译Mysql

# cp support-files/mysql.server /etc/init.d/mysqld
# chkconfig --add mysqld
# vim /etc/man.config

编译安装Mysql-5.5.25a_cmake平台编译Mysql_02

输出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

修改PATH环境变量,让系统可以直接使用mysql的相关命令

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

编译安装Mysql-5.5.25a_cmake平台编译Mysql_03

安装完成,打开mysql

编译安装Mysql-5.5.25a_cmake平台编译Mysql_04

说明:如果在编译安装cmake平台时,为其指定了一个安装路径,那么必须将cmakebin路径告诉系统,不然在编译安装mysql时,会早不到cmake命令的。

方法:在 /etc/profile.d下创建一个camke.sh文件将cmakebin路径写在文件内即可

# vim /etc/profile.d/cmake.sh
export PATH=$PATH:/usr/local/cmake/bin