參考它的 ChangeLog。
假如不是修正會影響你用到的功能,或者改善你所遭遇到的瓶頸,或者修補嚴重的安全漏洞,那當然可以不用一直緊跟著升級。
只要版本號前兩碼未改,基本上都可以直接升軟體即可,資料不必匯出再匯入。除非 ChangeLog 有註明。不過這樣的情況幾乎沒見過。就算版本號第二碼更換,只要想更換的新版文件中 (manual),有寫到什麼版本可以 upgrade 到此版本,那就可以照內容所述去升級,一樣不必匯出再匯入。大致步驟是:
補充:
樓下 twtw 大師的說法,從系統本身套件維護考量。
小弟使用 mysql 就比較不偏好用系統套件,直接去抓官方 binary 來用。比如要用 5.5.19 的版本 (以 CentOS 為例):
雖然twtw大大講解非常詳盡,絕對是非常好的答案,但wiseguy大大比較偏向我的問題點,當然兩位的答案都不錯,由於twtw已經大師10級,我想最佳解答給wiseguy大比較有助益!
OS決定了會不會有這個問題
您在問題中沒有提到是何種OS,
不同OS的環境下,
決定了你這個問題的不同作法,
在此就針對:
cc442提到:
一直保持MYSQL最新最穩妥的流程與方法
來說明可行的做法。
(當然這邊不提是否有必要追求最新版本的這個議題)
1.如果你一定要什麼都靠自己編譯新版本的話,
那任何OS就無所謂,
只要沒有新舊library套件因為相依問題的話,
就要看清楚mysql的各版差別說明來進行。
2.如果你不是一定要自行編譯的話,
選擇什麼OS,可以讓你花不同的心力來升到最新版。
不同Linux版的最新mysql的版本狀況
Fedora
觀察一下 fedora 各版的 mysql 最新版
http://ftp.twaren.net/Linux/Fedora/linux/updates/16/x86_64/
mysql-server-5.1.56-1.fc13.x86_64.rpm
mysql-server-5.1.60-1.fc14.x86_64.rpm
mysql-server-5.5.18-1.fc15.x86_64.rpm
mysql-server-5.5.18-1.fc16.x86_64.rpm
越早裝的OS版本,
愈新的mysql版本就愈不大會有官方出的套件,
若碰到Library新版的相依問題,
東拼西裝相關套件還不見得保證成功。
只有整個OS升版,才能獲整個套件的新版。
但OS的upgrade到下一版的環境,
總是與重裝新版的OS有所不同,
又要顧到原有server上的服務,
這是令人麻煩而鎖碎的考量。
Ubuntu
目前手邊的 Lubuntu 11.10 按現有預設的版本為:
mysql-server-5.1 (5.1.58-1ubuntu1)
mysql-server (5.1.58-1ubuntu1)
想要裝 mysql 5.5.x,
也需要參考一下別人的安裝經驗,
google: ubuntu 11.10 mysql 5.5
我用Ubuntu套件庫,
並沒有太大的好感,
裝個iBus,所需套件版本就不一致,
東缺西缺的還得上網找相合版本的套件才裝起來。
要裝 build-essential,
也是套件庫裡的一堆套件版本不合,
要花心力東找西找相合套件才完成。
想裝dillo,迄今還沒有套件可用。
同事有Ubuntu的整個升版,
總是會有些麻煩的問題產生。
OS版本數字可以一直往上提升,
看起來很爽,
如果Server有跑服務的話,
OS升版就沒那麼能隨心所欲。
archlinux
而自己主要使用的 archlinux
是 Rolling release 滾動版本的Linux,
沒有什麼新舊版次之分,
任何時期安裝的archlinux,
只要pacman -Syu就都把所有各套件升到最新,
<pre class="c" name="code">$ pacman -Q mysql php linux
mysql 5.5.19-1
php 5.3.8-6
linux 3.1.8-1
以下是mysql的更新記錄,
沒有煩惱過更新要花多少心力,
最多是在 5.1.54-1 -> 5.5.8-9 的時候,
提示要執行 mysql_upgrade 而已。
<pre class="c" name="code">$ grep "upgraded mysql " pacman.log
[2010-09-01 08:44] upgraded mysql (5.1.47-1 -> 5.1.50-1)
[2010-10-09 14:39] upgraded mysql (5.1.50-1 -> 5.1.51-1)
[2011-01-20 19:36] upgraded mysql (5.1.51-1 -> 5.1.54-1)
[2011-02-08 07:41] upgraded mysql (5.1.54-1 -> 5.5.8-9)
[2011-02-14 08:56] upgraded mysql (5.5.8-9 -> 5.5.9-1)
[2011-03-25 18:07] upgraded mysql (5.5.9-1 -> 5.5.10-2)
[2011-04-07 08:51] upgraded mysql (5.5.10-2 -> 5.5.11-1)
[2011-05-11 08:47] upgraded mysql (5.5.11-1 -> 5.5.12-1)
[2011-06-15 16:22] upgraded mysql (5.5.12-1 -> 5.5.13-1)
[2011-07-12 09:15] upgraded mysql (5.5.13-1 -> 5.5.14-1)
[2011-07-23 08:43] upgraded mysql (5.5.14-1 -> 5.5.14-2)
[2011-08-03 13:47] upgraded mysql (5.5.14-2 -> 5.5.15-1)
[2011-09-22 14:59] upgraded mysql (5.5.15-1 -> 5.5.16-1)
[2011-10-24 07:42] upgraded mysql (5.5.16-1 -> 5.5.17-1)
[2011-11-26 07:20] upgraded mysql (5.5.17-1 -> 5.5.18-1)
[2011-12-15 09:57] upgraded mysql (5.5.18-1 -> 5.5.19-1)
結論
如果你mysql沒有非要下什麼特別參數來編譯不可的話,
一般官方發行套件就夠用的話,
archlinux是一勞永逸,
套件版本升級不會有OS新舊版本的限制,
mysql及其他套件的升級也都比其他Linux版本快;
若你希望套件都能盡量是最新版的話,
不妨慢慢把一些服務轉用archlinux吧!
也可參考一下:
個人觀點:Linux版本偏好之形成