Linux下源碼安裝Mysql5.5

本文主要介紹瞭如何在源碼安裝mysql5.5,所用系統爲CentOS6.5


一、安裝相應的開發環境

yum install -y ncurses-devel
yum install -y libaio
yum install -y bison
yum install -y gcc-c++
yum install -y openssl-devel


二、安裝cmake

跨平臺編譯器

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

也可以使用yum或者rpm進行安裝

yum install -y cmake


三、編譯安裝mysql-5.5.33


1、編譯安裝

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

wKiom1PSj42h8JrtAAH-b_yJqeA617.jpg

wKioL1PSkLODB3ktAANA34bAF40268.jpg


2.把mysql下所有文件的屬主改爲root,屬組改爲mysql

# cd /usr/local/mysql
# chown -R .mysql .

wKioL1PSkfjS4YyhAAI7-zu9uHU604.jpg

3.複製support-files中的my-large.cnf到/etc/my.cnf(實際生產環境最好給my.cnf做備份)並修改my.cnf

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

在如下位置添加datadir=/mydata/data

wKiom1PSkYXCI0CCAAEsbgo4rnI525.jpg

4.手動初始化複製mysql.server到/etc/rc.d/init.d/mysqld,並把其加進服務

# scripts/mysql_install_db --user=mysql --datadir=/mydata/data/
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# vim /etc/profile.d/mysql.sh

wKioL1PSlVaAe0_IAAAwmwEkc4k168.jpg

至此,可以使用mysql命令和服務:

啓動服務:

wKiom1PSlkizv8-WAAEwHRQg0yo210.jpg

mysql客戶端命令:

wKioL1PSlz6CwIPCAAGxBSysU6g443.jpg


四、cmake說明

指定安裝文件的安裝路徑時常用的選項:

-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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章