使用源碼方式安裝mysql-5.5.25

來源:互聯網
上載者:User

標籤:mysql     源碼安裝mysql

mysql的安裝

對於某個軟體的安裝,一般有三種方式:

1、使用rpm來安裝。這個軟體包要以.rpm結尾才可以使用rpm包來安裝。

2、使用通用二進位格式來安裝。只不過使用這種安裝方式該軟體所支援的平台要對應起來才可。

3、使用源碼方式來安裝。這種方式可以來定製自己所需要的功能

在這裡,本文使用源碼方式來安裝,linux系統平台為RHEL 5.8

 

編譯安裝MySQL-5.5

cmake的重要特性之一是其獨立於源碼(out-of-source)的編譯功能,即編譯工作可以在另一個指定的目錄中而非源碼目錄中進行,這可以保證源碼目錄不受任何一次編譯的影響,因此在同一個源碼樹上可以進行多次不同的編譯,如針對於不同平台編譯。


一、安裝cmake

跨平台編譯器

# tar xf cmake-2.8.8.tar.gz
# cd cmake-2.8.8
# ./bootstrap
# make
# make install

二、編譯安裝mysql-5.5.25a

1、使用cmake編譯mysql-5.5
cmake指定編譯選項的方式不同於make,其實現方式對比如下:
./configure           --->    cmake .
./configure --help    --->    cmake . -LH or ccmake .

 

指定安裝檔案的安裝路徑時常用的選項:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/data/mysql
-DSYSCONFDIR=/etc

 

預設編譯的儲存引擎包括:csv、myisam、myisammrg和heap。若要安裝其它儲存引擎,可以使用類似如下編譯選項:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1

若要明確指定不編譯某儲存引擎,可以使用類似如下的選項:
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1


如若要編譯進其它功能,如SSL等,則可使用類似如下選項來實現編譯時間使用某庫或不使用某庫:
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0

 


其它常用的選項:
-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DENABLED_LOCAL_INFILE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_DEBUG=0
-DENABLE_PROFILING=1

 

如果想清理此前的編譯所產生的檔案,則需要使用如下命令:
make clean
rm CMakeCache.txt

2、編譯安裝

# groupadd -r mysql
# useradd -g mysql -r -d /data/mydata mysql
# tar xf mysql-5.5.25a.tar.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

#ln -sv mysql-5.5.25a   mysql
#cd mysql

#chown -R  mysql:mysql  .

#scripts/mysql_install_db --user=mysql --datadir=/mydata/data   

(#以mysql的身份來初始化資料庫並指定資料的存放位置)

#chown  -R  root   .  #(將mysql目錄的屬主改為root,防止mysql進程被攻破,將具有mysql的一切許可權)

 

3、為mysql提供設定檔

#cd  /usr/local/mysql

#cp support-files/my-large.cnf  /etc/my.cnf

說明:這個目錄下有多個設定檔,需要根據自己的記憶體來選擇

這些設定檔有(在/usr/local/mysql/support-files目錄下),my-small.cnf、my-medium.cnf、my-large.cnf、my-huge.cnf等等。我這裡選擇的是my-large.cnf作為我的設定檔

並且編輯/etc/my.cnf,找到[mysqld]的這一段落,修改thread_concurrency的值為你的CPU個數乘以2,比如這裡使用如下行:

另外還需要添加如下行指定mysql資料檔案的存放位置:
datadir = /mydata/data

 thread_concurrency = 2

 

在這裡說明一下。mysql的設定檔有多個,因此mysql在載入設定檔的順序是:

/etc/my.cnf---->/etc/mysql/my.cnf--->  $MYSQL_HOME/my.cnf-->defaults-extra-file=/path/to/file->~/.my.cnf

 如果頭同一個變數出現在多個設定檔裡,則以最近一次載入的檔案為主

 

4、為mysql通過Sysv服務指令碼

#cd /usr/local/mysql

#cp support-files/mysql.server  /etc/rc.d/init.d/mysqld

#chmod +x  /etc/rc.d/init.d/mysqld

 

5、添加至服務列表

chkconfig  --add  mysqld

如果想讓mysqld開機自動啟動,可以使用chkconfig  mysqld   on命令來實現

本文出自 “linux學習之路” 部落格,請務必保留此出處http://xslwahaha.blog.51cto.com/4738972/1575526

使用源碼方式安裝mysql-5.5.25

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.