基本上我之前說過,MySQL 官方建議的方式是用 mysqldump 把資料丟出來再丟回去,確保裡面的內容不會像 4.0 -> 4.1 這樣炸了一堆。不過很多人 (包括我) 都蠻喜歡用 binary upgrade 來升級的,根據經驗除了 4.0 -> 4.1 有碰過大地雷以外其他版本都沒有太大的問題。
FreeBSD ports 不知道什麼時候把預設的 MySQL 版本從 5.0 改到 5.1 了,想也知道一定會有人碰到 mysql50 和 mysql51 被設定為 conflict 然後相關的東西編不起來的問題,剛剛試了一下用 portupgrade 來處理…
第三步的 mysql_upgrade 是 mysql 提供的程式,他會檢查所有的 db/tb 是不是有缺少的屬性 (像是 4.1 -> 5.0 會碰到這種問題),這算是官方還沒公開來說但是有在做的工具吧。第四步是因為像 php5-mysql 這些會用到 mysql-client 的東西最好重編過比較好,不然有時候會出問題,像是舊的 client 連不上新的 server 或是 lib 跑掉之類的。