天天看點

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