MySQL 升級方法指南大全第2/5頁
更新時間:2008年01月26日 18:58:58 作者:
通常,從一個發(fā)布版本升級到另一個版本時,我們建議按照順序來升級版本。例如,想要升級 MySQL 3.23 時,先升級到 MySQL 4.0,而不是直接升級到 MySQL 4.1 或 MySQL 5.0。
1、概述
通常,從一個發(fā)布版本升級到另一個版本時,我們建議按照順序來升級版本。例如,想要升級 MySQL 3.23 時,先升級到 MySQL 4.0,而不是直接升級到 MySQL 4.1 或 MySQL 5.0。
以下是在升級 MySQL 時需要注意的事項:
仔細(xì)閱讀一下升級的目標(biāo)版本的新特性和改變的特性,以及2個版本之間的不同特性
升級前一定要備份所有的數(shù)據(jù)
如果是在Windows平臺上升級MySQL,請閱讀附錄 "在Windows平臺上升級MySQL"
有些不同版本間的升級可能會涉及對授權(quán)表的修改,請尤其注意這個問題,詳情請閱讀附錄 "升級授權(quán)表"
如果正在運行著同步,請閱讀附錄 "升級同步"
如果之前運行著MySQL-Max發(fā)布版本,想要升級到非MySQL-Max發(fā)布版本時,就需要從 mysqld_safe 去掉啟動 mysqld-max 服務(wù)器的參數(shù)
在同一個發(fā)布系列版本的MySQL間,可以隨意拷貝格式文件和數(shù)據(jù)文件。如果在MySQL運行過程中改變了字符集,就需要對每個MyISAM表執(zhí)行 "myisamchk -r -q --set-character-set=charset" 命令修復(fù)一下。否則的話,索引的排序可能不正確,因為修改了字符集,就可能會改變索引的順序。
通常情況下,升級到新版本不需要修改任何數(shù)據(jù)表。請檢查MySQL發(fā)布事項中提到的升級需要注意的地方,如果發(fā)現(xiàn)不能直接升級的話,就先用 mysqldump 將數(shù)據(jù)導(dǎo)出來,然后再導(dǎo)回去。
如果擔(dān)心升級失敗,就先把舊版本的MySQL改個名字備份起來,以備所需。
同時,升級完之后可能還需要重新編譯跟MySQL相關(guān)的程序,因為新版本的頭文件和庫文件可能有改變了。
如果升級后發(fā)生問題了,請先檢查是否使用了舊的my.cnf配置文件,可以通過執(zhí)行命令 "mysqld --print-defaults" 來打印出各種配置信息來確認(rèn)。
升級的時候最好也升級類似Perl的 DBD::mysql 模塊,同樣,對PHP和Python而言也是一樣。
2、從 MySQL 5.0 升級到 MySQL 5.1
從 5.0 升級到 5.1 的時候,必須要升級授權(quán)表。否則,可能某些存儲過程無法運行。詳情請看附錄 "mysql_update MySQL升級時檢查數(shù)據(jù)表"。
以下是從 5.0 升級到 5.1 需要注意的事項:
檢查所有的變化,尤其注意那些標(biāo)志為 "不兼容的變化" 的部分。詳情請看附錄 "mysql_update MySQL升級時檢查數(shù)據(jù)表"
可能某些發(fā)布版本會改變授權(quán)表的機(jī)制
查看所有重大的變化,詳情請看MySQL手冊的 "D.1.1.?Changes in release 5.1.10 (Not yet released)" 章節(jié)
以下是升級到MySQL 5.1之后會發(fā)生的一些變化:
服務(wù)器部分:
不兼容的變化:MySQL 5.1 實現(xiàn)了支持無需重啟服務(wù)器就能在運行時加載或卸載API插件。這個特性需要用到mysql.plugin表,可以運行 "mysql_upgrade" 命令來創(chuàng)建該表
插件安裝在系統(tǒng)變量 plugin_dir 所指的目錄下。這個變量也控制著用戶自定義函數(shù)(UDFs)所在目錄,這相對以前的版本有所改變。在MySQL 5.1中,所有的UDFs庫必須都安裝到 plugin_dir 目錄下,從舊版本升級的時候,必須把那些庫文件都移動到這個目錄下
不兼容的變化:系統(tǒng)變量 table_cache 改名為 table_open_cache
不兼容的變化:在MySQL 5.1.6 中 FULLTEXT 的索引結(jié)構(gòu)發(fā)生變化了。當(dāng)升級到 5.1.6 甚至更高之后,需要對每個包含 FULLTEXT 字段的數(shù)據(jù)表執(zhí)行 "REPAIR TABLE" 語句
在 MySQL 5.1.6 以前,MySQL把普通的查詢?nèi)罩竞吐樵兌紝懙轿募?。?.1.6以后,這些日志可以靈活地選擇是是寫到日志文件中(跟以前一樣)或者寫到 mysql 數(shù)據(jù)庫的 general_log 和 slow_log 表中。如果啟用日志記錄,這2種方式都可以使用。選項 --log-output 用來控制這2種日志的記錄方式
從5.1.6開始,特殊字符集的數(shù)據(jù)庫和表的標(biāo)識符在創(chuàng)建相應(yīng)目錄和文件時都會用對應(yīng)的字符集編碼了
SQL分:
相關(guān)文章
MySQL之Field‘***’doesn’t have a default value錯誤解決辦法
這篇文章主要介紹了MySQL之Field‘***’doesn’t have a default value錯誤解決辦法,需要的朋友可以參考下2015-04-04
Mysql 的存儲引擎,myisam和innodb的區(qū)別
這篇文章主要介紹了Mysql 的存儲引擎,myisam和innodb的區(qū)別,需要的朋友可以參考下2014-12-12
Linux中使用mysqladmin extended-status配合Linux命令查看MySQL運行狀態(tài)
這篇文章主要介紹了Linux中使用mysqladmin extended-status配合Linux命令查看MySQL運行狀態(tài),需要的朋友可以參考下2014-08-08
MySql獲取當(dāng)前時間并轉(zhuǎn)換成字符串的實現(xiàn)
本文主要介紹了MySql獲取當(dāng)前時間并轉(zhuǎn)換成字符串的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07

