標籤:linux下源碼編譯安裝mysql詳解
linux下源碼編譯安裝mysql詳解
1.redhat5環境下,首先安裝編譯環境
yum groupinstall -y "Development Libraries" "Development Tools"
2.由於源碼編譯mysql需要cmake命令,所以先要編譯安裝cmake包
首先下載cmake包,這裡下載使用cmake-2.8.8.tar.gz
tar xf cmake-2.8.8.tar.gz
cd cmake-2.8.8
./configure
make && make install
3.使用cmake編譯mysql
cmake指定編譯選項的方式不同於make,其實現方式對比如下:
./configure 相當於 cmake .
./configure --help 相當於 cmake . -LH 或者 ccmake .
4.開始正式編譯安裝mysql,這裡下載使用mysql-5.5.50.tar.gz
groupadd -g 306 mysql
useradd -g 306 -u 306 -M -s /sbin/nologin mysql
mkdir -pv /mydata
mount /dev/VG01/LV01 /dev/mydata #新增一個LVM(省略)並將其掛載至/mydata
mkdir -pv /mydata/data
chown -R mysql.mysql /mydata/data
tar xf mysql-5.5.50.tar.gz
cd mysql-5.5.50
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DMYSQL_DATADIR=/mydata/data \ #mysql資料存放路徑
> -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
下面安裝如同通用二進位格式安裝mysql,如不太熟悉可查看我前面部落格
chown -R .mysql /usr/local/mysql/ #更改屬組
scripts/mysql_install_db --user=mysql --datadir=/mydata/data/
cp support-files/my-huge.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld #拷貝啟動指令碼
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
netstat -antlp | grep 3306 #查看mysql啟動狀態
ehco "/usr/local/mysql/bin" >> /etc/profile.d/mysql.sh #修改mysql環境變數
source /etc/profile.d/mysql.sh
mysql #串連測試mysql
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/83/1B/wKioL1drSZGDPYt-AAEgLcnrK1s702.jpg-wh_500x0-wm_3-wmp_4-s_1013295810.jpg" title="1.jpg" alt="wKioL1drSZGDPYt-AAEgLcnrK1s702.jpg-wh_50" />
5.編譯安裝mysql時常用選項解釋
5.1.指定安裝檔案的安裝路徑時常用的選項:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/data/mysql
-DSYSCONFDIR=/etc
5.2.預設編譯的儲存引擎包括:csv、myisam、myisammrg和heap。若要安裝其它儲存引擎,如下選項:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
5.3.若要明確指定不編譯某儲存引擎,可以使用類似如下的選項:
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
5.4.如若要編譯進其它功能,則可使用類似如下選項來實現編譯時間使用某庫或不使用某庫:
-DWITH_READLINE=1
-DWITH_SSL=system #開啟ssl功能
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0 #取消tcp_wrap功能
5.5.其它常用的選項:
-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
5.6.如果想清理此前的編譯所產生的檔案,則需要使用如下命令:
make clean
rm CMakeCache.txt
本文出自 “夏維柳” 部落格,請務必保留此出處http://willow.blog.51cto.com/6574604/1792039
linux下源碼編譯安裝mysql詳解