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