mysql果然是不愧是目前在linux下最火的数据库软件,自从mysql5.5.8之后,mysql的源码包编译安装都要用到cmake来进行编译了,编译的过程没有本质的区别,但是要直观很多。

        1.源码包准备

         (1)mysql-5.5.15.tar.gz mysqlmysql源码包。去www.mysql.com下载最新的mysql5.5.15。注意千万不要下成了安装包,忙活半天都白搭。我就是如此,悲剧!

         (2)cmake-2.8.4.tar.gz,cmake安装包.在www.cmake.org可下最新版本。

         (3)安装所需相关库文件

                #yum install -y gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*

2.编译过程

  (1)创建目录,用户和权限。

     #mkdir -p /usr/local/mysql          #建立mysql安装目录

     #mkdir -p /data/mysql                #建立mysql数据库目录

     #groupadd mysql                       #添加mysql组

     #useradd -g msyql msyql           #添加一个mysql用户并加入到mysql组中

     #chown -R mysql.mysql /data/mysql  #将/data/mysql目录的所有权赋予mysql组中的mysql用户

  (2)安装cmake

    #tar cmake-2.8.4.tar.gz

    #cd cmake-2.8.4

    #./configure

    #make && make install

  (3)安装mysql

    #cd mysql-5.5.15

    #cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306

    #make &&make install

 #cp support-files/my-medium.cnf /etc/my.cnf     #如果你的机器的内存教大,可以复制My-huge.cnf文件

   #chmod 755 scripts/mysql_install_db

   #scripts/mysql_install_db  --user=mysql  --basedir=/usr/local/mysql --datadir=/data/mysql/    ##初始化数据库

   # cp support-files/mysql.server /etc/init.d/mysql   #设置开机启动mysql

    #chmod 755 /etc/init.d/mysql                              

    #chkconfig mysql on     #开机启动

   #echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile        #将mysql的安装路径加入PATH中,方便启动mysql(重启生效)

    #/etc/init.d/mysql start     #启动mysql

可以在进程中查看mysql是否启动,完成。

   设置一个mysql的root密码
#mysqlamdin -u root password '123456'

在这里有出现过一个问题:删除mysql 重新安装后会有一些错误。在编译完mysql后启动时会提示

Starting MySQL..The server quit without updating PID file (/data/mysql/localhost.localdomain.pid

此时需要编辑vi /etc/my.cnf中的[mysqld]模块,在其中加入你的datadir路径如

datadir = /data/mysql

如果路径中没有localhost.localdomain.pid文件可能需要touch一个,然后赋予mysql用户的权限。

最后ps -aux |grep mysql 

kill 掉mysql的进程

#/etc/init.d/mysql start 即可