在工作环境中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目录用于挂载逻辑卷,并在逻辑卷中创建一个属主、属组都为mysql的data目录,用于存放数据

 
   
# 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#配置文件安装路径
默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:
-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
 
   


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

输出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
说明:如果在编译安装cmake平台时,为其指定了一个安装路径,那么必须将cmake的bin路径告诉系统,不然在编译安装mysql时,会早不到cmake命令的。
方法:在 /etc/profile.d下创建一个camke.sh文件将cmake的bin路径写在文件内即可

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


 
  
 
 
转载于:https://blog.51cto.com/runnerup/1203941