top
Loading...
2.10.升級MySQL
2.10. 升級MySQL
2.10.1. 從5.0版升級
2.10.2. 升級授權表
2.10.3. 將MySQL數據庫拷貝到另一臺機器

做為一般原則,我們建議從一個發布系列升級到另一個發布系列時,你應當先升級到它的下一個系列而不要跳過。例如,如果你目前正運行MySQL 3.23,想要升級到較新的系列,要升級到MySQL 4.0而不要升級到5.05.1

下面的項列出了升級時的相關信息:

·         MySQL 5.0升級到5.1,請閱讀2.10.1節,“從5.0版升級”和附錄D:MySQL變更史。其中提供了MySQL 5.1相對于MySQL 5.0的新特性或不同特性。如果你想要從MySQL 5.0以前的發布系列升級,應當依次升級到下一個發布系列,直到達到MySQL 5.0,然后再升級到MySQL 5.1。關于從MySQL 5.0升級的信息,參見MySQL 5.0 參考手冊;對于更早的發布,參見MySQL 4.1參考手冊

·         在升級前應先備份數據庫。

·         如果在Windows中運行MySQL服務器,參見2.3.15節,“在Windows下升級MySQL”。

·         MySQL 5.0升級到5.1更改MySQL數據庫中的 授權表;增加了列和表以支持新功能。為了充分利用這些特性,應確保授權表是最新的。升級授權表的過程參見2.10.2節,“升級授權表”。在升級前,你可能想要使用mysqldump來轉儲表;升級后,可以使用mysqlmysqlimport重建、重裝 授權表來重載dump(備份)文件。

·         如果你正復制,關于升級復制設置的信息參見6.6節,“升級復制設置”。

·         如果安裝包括mysqld-max服務器的MySQL-Max分發版,則后面要升級到非Max版的MySQLmysqld_safe仍然試圖運行舊的mysqld-max服務器。如果升級,應當手動刪掉舊的mysqld-max服務器以確保mysqld_safe運行新的mysqld服務器。

只要你的MySQL版本屬于相同的發布系列,總是可以在不同的版本之間的相同架構上移動MySQL格式文件和數據文件。目前的產品發布系列是5.1。如果運行MySQL時更改字符集,必須對所有MyISAM表運行myisamchk -r -q --set-character-set=charset。否則,索引順序將會出錯,因為更改字符集也會更改排序。

如果你使用新版本時比較小心,在安裝新的MySQL前可以重新命名舊的mysqld。例如,如果你想要從MySQL 5.0.13升級到5.1.10, 將當前的服務器從mysqld重新命名為mysqld-5.0.13如果新的mysqld出現問題,只需要關閉并用舊的mysqld重新啟動。

升級后,如果你遇到重新編譯的客戶端程序問題,例如Commands out of sync或不期望的內核轉儲,可能是編譯程序時使用了舊的頭文件或庫文件。出現這種情況,應當檢查mysql.h文件和libmysqlclient.a庫的日期,以驗證它們是否來自新的MySQL分發版。如果不是,用新的頭文件和庫重新編譯程序。

如果出現問題,例如新mysqld服務器不啟動或沒有密碼不能連接,驗證是否使用了以前安裝的舊my.cnf文件。可以用--print-defaults選項檢查(例如,mysqld --print-defaults)。如果顯示程序名之外的其它內容,說明有一個活動my.cnf文件影響了服務器或客戶端操作。

當安裝新的MySQL發布時,最好重建并重裝Perl DBD::mysql 模塊。同樣適用于其它MySQL接口,例如PHP mysql擴展名和Python MySQLdb模塊。

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/installing.html
北斗有巢氏 有巢氏北斗