Mysql
從 MySQL 5.1.73 升級到 5.6.21 的任何已知問題?
我計劃在 CentOS 6.5 機器上執行我的 MySQL DB ver5.1.73 到 MySQL 5.6.21。
根據我在 StackOverflow 上閱讀的內容,我了解了基本程序,但我很好奇是否有人在使用 5.1 到 5.6 路線時遇到任何具體問題?
我聽說過的一個是某些 TIMESTAMP 列可能以不正確的時間戳結束。但我很好奇是否還有其他人聽說過或遇到過。
為了縮小我關心的問題,我只關心可能存在數據失去或一致性問題的任何事情
謝謝!是
問題 #1:升級路徑
您的授權表可能會被搞砸,因為您跳過了兩個版本而不是一個。
一周前我剛剛幫助了某人,因為他們就是這樣做的(MySQL 服務在嘗試向使用者授予權限後停止)。該問題的解決方案是手動修復
mysql.user
. 與其走那條嚴厲的路線,有兩種方法可以解決這個問題。技巧#1:升級政治正確的方式
- 從 MySQL 5.1 升級到 MySQL 5.5
mysql_upgrade --upgrade-system-tables
使用 MySQL 5.5 的二進製文件執行- 從 MySQL 5.5 升級到 MySQL 5.6
mysql_upgrade --upgrade-system-tables
使用 MySQL 5.6 的二進製文件執行- 生成使用 InnoDB 的系統表(請參閱我的文章InnoDB: Error: Table “mysql”.“innodb_table_stats” not found after upgrade to mysql 5.6),因為MySQL 5.6 版本的 mysql_upgrade不會創建它們。
技術#2:直接從 MySQL 5.1 升級到 MySQL 5.6
我已經描述瞭如何升級兩個版本
Apr 11, 2013
: MySQL 5.0.88 升級到最新(最佳參考)Feb 08, 2012
:從 5.5.20 到 5.0.XX 伺服器的複制會起作用嗎?Jul 26, 2011
:將舊備份恢復到最新的 MySQL 版本問題 #2:全文索引
如果您在 MySQL 5.6 之前使用 FULLTEXT 索引,則這些表使用 MyISAM 儲存引擎。您需要將這些表轉換為 InnoDB(請參閱我的文章When to switch from MyISAM to InnoDB? under
NEED #2
)。然後,分別調整 InnoDB FULLTEXT 選項(請參閱我的文章MySQL FullText search on string小於 3 chars 返回 no rows)。問題 #3:安全問題
我相信您已經意識到這一點,因為您將直接使用 MySQL 5.6.21
對於其他不知道的人,截至 2014 年 10 月 16 日,Oracle 剛剛宣布 MySQL 5.5 和 MySQL 5.6 存在安全問題。這也在亞馬遜上宣布。MySQL 5.5.40 和 MySQL 5.6.21 都會有安全更新檔,所以最好升級到其中一個。