手動編譯安裝mysql-5.5.28a

cmake的重要特性之一是其獨立於源碼(out-of-source)的編譯功能,即編譯工作可以在另一個指定的目錄中而非源碼目錄中進行,這可以保證源碼目錄不受任何一次編譯的影響,因此在同一個源碼樹上可以進行多次不同的編譯,如針對於不同平臺編譯。
編譯安裝cmake
  1. # tar xf cmake-2.8.8.tar.gz 
  2. # cd cmake-2.8.8 
  3. # ./configure 
  4. # make  
  5. # make install 
編譯安裝mysql-5.5.28a
cmake指定編譯選項的方式不同於make,其實現方式對比如下:
./configure對應的是           cmake .
./configure --help 對應的是   cmake . -LH 或者是 ccmake .
創建mysql用戶與組
  1. # groupadd -r mysql 
  2. # useradd -g mysql -r  -s /sbin/nologin mysql 
準備mysql的數據目錄
  1. # fdisk /dev/sda   -----創建一個新分區類型爲8e,創建分區過程就不再給出了 
  2. 創建一個邏輯卷 
  3. # partprobe /dev/sda 
  4. # pvcreate /dev/sda5 
  5. # vgcreate myvg /dev/sda5 
  6. # lvcreate -L 10G -n mydata myvg 
  7. # mke2fs -j /dev/myvg/mydata  

掛載選項設置
  1. # vim /etc/fstab 
  2. 添加內容如下 
  3. /dev/myvg/mydata        /mydata         ext3    defaults        0 0 
  4. 保存退出 
  5. # mount -a 
數據目錄配置
  1. # cd /mydata 
  2. # mkdir data 
  3. # chown -R mysql.mysql data 
編譯安裝
  1. # tar xf mysql-5.5.28.tar.gz 
  2. # cd mysql-5.5.28 
  3. # cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 
  4. -DMYSQL_DATADIR=/mydata/data \ 
  5. -DSYSCONFDIR=/etc \ 
  6. -DWITH_INNOBASE_STORAGE_ENGINE=1 \ 
  7. -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ 
  8. -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ 
  9. -DWITH_READLINE=1 \ 
  10. -DWITH_SSL=system \ 
  11. -DWITH_ZLIB=system \ 
  12. -DWITH_LIBWRAP=0 \ 
  13. -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ 
  14. -DDEFAULT_CHARSET=utf8 \ 
  15. -DDEFAULT_COLLATION=utf8_general_ci 
  16. # make  
  17. # make install 
指定安裝文件的安裝路徑時常用的選項
  1. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql     ----指定殘可安裝路徑(默認的就是/usr/local/mysql) 
  2. -DMYSQL_DATADIR=/data/mysql          ----mysql的數據文件路徑 
  3. -DSYSCONFDIR=/etc                -----配置文件路徑 
編譯過程中啓用其他存儲引擎時指令介紹
  1. -DWITH_INNOBASE_STORAGE_ENGINE=1         ----使用INNOBASE存儲引擎 
  2. -DWITH_ARCHIVE_STORAGE_ENGINE=1          -----常應用於日誌記錄和聚合分析,不支持索引 
  3. -DWITH_BLACKHOLE_STORAGE_ENGINE=1        -----黑洞存儲引擎 
編譯過程中取消一些存儲引擎指令介紹
  1. -DWITHOUT_<ENGINE>_STORAGE_ENGINE=1 
  2. 示例如下: 
  3. -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 
  4. -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 
  5. -DWITHOUT_PARTITION_STORAGE_ENGINE=1 
編譯進過程中功能啓用的指令介紹
  1. -DWITH_READLINE=1       ----支持批量導入mysql數據 
  2. -DWITH_SSL=system       ----mysql支持ssl會話,實現基於ssl的數據復 
  3. -DWITH_ZLIB=system      ----壓縮庫 
  4. -DWITH_LIBWRAP=0        ---是否可以基於WRAP實現訪問控制 
其他功能指令
  1. -DMYSQL_TCP_PORT=3306                   ----默認端口 
  2. -DMYSQL_UNIX_ADDR=/tmp/mysql.sock       ----默認套接字文件路徑 
  3. -DENABLED_LOCAL_INFILE=1                -----是否啓用LOCAL_INFILE功能 
  4. -DEXTRA_CHARSETS=all                    -----是否支持額外的字符集 
  5. -DDEFAULT_CHARSET=utf8                  -----默認編碼機制 
  6. -DDEFAULT_COLLATION=utf8_general_ci     -----設定默認語言的排序規則 
  7. -DWITH_DEBUG=0                          -----DEBUG功能設置 
  8. -DENABLE_PROFILING=1                    -----性能分析功能是否啓用 
準備mysql服務腳本
  1. # cd /usr/local/mysql/ 
  2. # cp support-files/mysql.server /etc/init.d/mysqld 
準備mysql的配置文件
  1. # cp support-files/my-large.cnf /etc/my.cnf 
  2. 編輯配置文件指定數據目錄位置 
  3. # vim /etc/my.cnf 
  4. 添加指令: 
  5. datadir = /mydata/data 
初始、啓動mysql
  1. # chown :mysql /usr/local/mysql/ -R 
  2. # /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/mydata/data 
  3. 啓動mysql 
  4. # chkconfig --add mysqld 
  5. # /etc/init.d/mysqld start 
將mysql命令添加到環境變量中
  1. 添加內容: 
  2. export PATH=$PATH:/usr/local/mysql/bin 
  3. 保存退出 
  4. 讀取環境變量配置,讓mysql命令立即生效 
  5. # . /etc/profile.d/mysql.sh  
輸出mysql的man手冊到man命令的查找路徑
  1. # vim /etc/man.config  
  2. 添加內容如下: 
  3. MANPATH /usr/local/mysql/man 
輸出mysql的庫文件
  1. # vim /etc/ld.so.conf.d/mysql.conf 
  2. 添加內容如下: 
  3. /usr/local/mysql/lib/ 
 輸出mysql的頭文件到系統頭文件
  1. # ln -sv /usr/local/mysql/include/ /usr/include/mysql 
到這裏整個編譯過程就結束了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章