天天看点

linux下mysql5.5.15源码包编译安装

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

        1.源码包准备

         (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 即可