2.1.1 我們該安裝哪個版本的MySQL
MySQL兼容很多操作系統(tǒng)和平臺霜浴,要了解官方支持的平臺以及GA版本支持的平臺分別有哪些得院,可以查看https://www.mysql.com/support/supportedplatforms/database.html信轿,要了解開發(fā)版可以在哪些平臺上構建使用翅溺,請查看http://dev.mysql.com/downloads/mysql/5.7.html第喳,要了解Oracle的支持信息盒延,請查看https://www.mysql.com/support/
。
當我們打算安裝MySQL時滤港,要做出一個決定:我們應該使用哪個版本廊蜒,哪種格式的分發(fā)包(二進制包或者源碼包)。
首先溅漾,我們需要考慮的是山叮,我們是安裝開發(fā)版還是GA(General Availability)版。開發(fā)版包含了最新的功能樟凄,但不推薦生產(chǎn)環(huán)境使用聘芜;GA版也叫生產(chǎn)版或者穩(wěn)定版,意味著在生產(chǎn)環(huán)境使用缝龄。建議使用最近的GA版。
現(xiàn)在我們來了解下MySQL 5.7版本號的命名方案挂谍。MySQL 5.7的版本號由三個數(shù)字和一個可選的后綴組成叔壤,例如:mysql-5.7.1-m1,版本號中的數(shù)字含義如下:
- 第一個數(shù)字(5)為主要版本號口叙;
- 第二個數(shù)字(7)為次要版本號炼绘,總得來說,主要版本號和次要版本號構成了發(fā)行序列號妄田,發(fā)行序列號代表了穩(wěn)定的功能集合俺亮;
- 第三個數(shù)字(1)為發(fā)行序列中的版本號驮捍,對于每個新的錯誤修復版本,該版本號都會增加脚曾。大多數(shù)情況下东且,序列中最新的版本是最佳選擇。
版本號中的后綴代表了該版本的穩(wěn)定級別本讥,發(fā)布版本過程中珊泳,通過一組后綴的迭代可以看出該版本的穩(wěn)定級別是如果一步一步提高的。常見的后綴如下:
mN(例如:m1拷沸,m2色查,m3……),代表里程碑編號撞芍。MySQL的開發(fā)使用里程碑模型秧了,每個里程碑都會加入一小部分功能,這些功能都經(jīng)過全面的測試序无。從一個里程碑到下一個里程碑验毡,根據(jù)社區(qū)用戶對早期版本使用的反饋,功能界面可能有所改變愉镰,甚至會刪除某些功能米罚。里程碑中的功能通常被認為具有準生產(chǎn)質量。
rc(Release Condidate)丈探,代表候選發(fā)布版本录择。rc版本通過了MySQL的所有內(nèi)部測試,被認為是穩(wěn)定的碗降。rc版可能也會加入新功能隘竭,但重心轉向了問題修復。
沒有后綴讼渊,表示GA版或者生產(chǎn)版动看,GA版是穩(wěn)定的,經(jīng)過了早期版本階段的考驗爪幻,被認為是可靠的菱皆,沒有重大錯誤的,并且適用于生產(chǎn)環(huán)境挨稿。
序列中開發(fā)從里程碑版開始仇轻,然后是RC版,最終達到GA版奶甘。
確定了MySQL的版本后篷店,我們要選擇一個合適的分發(fā)版格式。大多數(shù)情況下臭家,使用二進制包是比較好的選擇疲陕。MySQL提供了很多平臺對應的二進制分發(fā)版方淤,例如,針對Linux平臺的RPM包蹄殃,針對MacOS的DMG包携茂,分發(fā)版還提供更加通用的格式,如zip壓縮包和tar包窃爷,在Windows平臺上可以使用MySQL Instasller程序來安裝二進制分發(fā)版邑蒋。
有時候使用源碼包安裝MySQL是更好的選擇,例如:
想要自定義MySQL的安裝位置按厘。標準的二進制分發(fā)版已準備在任何安裝位置運行医吊,但是我們可能想要將MySQL組件安裝到我們指定的位置;
-
我們想要配置那些可能沒有包含在標準二進制分發(fā)版中的功能逮京。以下是用于確保功能可用的最常見附件選項列表:
- -DWITH_LIBWRAP = 1卿堂,表示支持TCP包裝器;
- -DWITH_ZLIB = {system|bundled}懒棉,表示依賴于壓縮的功能草描;
- -DWITH_DEBUG = 1,標識支持調試功能策严。
更多信息可以查看2.9.7 源配置選項穗慕。
我們想要定制MySQL的功能。例如妻导,通常分發(fā)版在編譯時會被指定支持所有字符集逛绵,但是我們想要得到一個體積比較小的MySQL服務器,這時倔韭,我們可以選擇源碼包术浪,在重新編譯時只選擇我們需要的字符集;
我們想要閱讀或者修改MySQL的C程序源碼寿酌;
源碼分發(fā)版比二進制分發(fā)版有更多的測試和范例胰苏。