MySQL 升級(jí)方法指南大全第1/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。
如果都是比較新的版本的升級(jí)可以參考下面的文章,
MySQL數(shù)據(jù)庫(kù)的版本更新很快,新的特性也隨之不斷的更新,更主要的是解決了很多影響我們應(yīng)用的BUG,為了讓我們的MySQL變得更美好,我們有必要去給它升級(jí),盡管你會(huì)說(shuō)它現(xiàn)在已經(jīng)跑得很好很穩(wěn)定完全夠用了。下面我們來(lái)看看幾種常用的升級(jí)方法。
介紹之前,我們先做一些聲明,MySQL采用二進(jìn)制包來(lái)安裝,升級(jí)都是在同一臺(tái)DB Server上操作。
第一種,很簡(jiǎn)單,適用于任何存儲(chǔ)引擎。
1. 下載并安裝好新版本的MySQL數(shù)據(jù)庫(kù),并將其端口改為3307(避免和舊版本的3306沖突),啟動(dòng)服務(wù)。
2. 在新版本下創(chuàng)建同名數(shù)據(jù)庫(kù)。
# mysqldump -p3307 -uroot create mysqlsystems_com
3. 在舊版本下備份該數(shù)據(jù)庫(kù)。
# mysqldump -p3306 -uroot mysqlsystems_com > mysqlsystems_com.bk
Note: 你也可以加上–opt選項(xiàng),這樣可以使用優(yōu)化方式將你的數(shù)據(jù)庫(kù)導(dǎo)出,減少未知的問(wèn)題。
4. 將導(dǎo)出的數(shù)據(jù)庫(kù)備份導(dǎo)入到新版本的MySQL數(shù)據(jù)庫(kù)中。
# mysql -p3307 -uroot mysqlsystems_com < mysqlsystems_com.bk
5. 再將舊版本數(shù)據(jù)庫(kù)中的data目錄下的mysql數(shù)據(jù)庫(kù)全部覆蓋到新版本中。
# cp -R /opt/mysql-5.1/data/mysql /opt/mysql-5.4/data
Note: 大家也都知道這個(gè)默認(rèn)數(shù)據(jù)庫(kù)的重要性。
6. 在新版下執(zhí)行mysql_upgrade命令,其實(shí)這個(gè)命令包含一下三個(gè)命令:
# mysqlcheck –check-upgrade –all-databases –auto-repair
# mysql_fix_privilege_tables
# mysqlcheck –all-databases –check-upgrade –fix-db-names –fix-table-names
Note: 在每一次的升級(jí)過(guò)程中,mysql_upgrade這個(gè)命令我們都應(yīng)該去執(zhí)行,它通過(guò)mysqlcheck命令幫我們?nèi)z查表是否兼容新版本的數(shù)據(jù)庫(kù)同時(shí)作出修復(fù),還有個(gè)很重要的作用就是使用mysql_fix_privilege_tables命令去升級(jí)權(quán)限表。
7. 關(guān)閉舊版本,將新版的數(shù)據(jù)庫(kù)的使用端口改為3306,重新啟動(dòng)新版本MySQL數(shù)據(jù)庫(kù)。到此,一個(gè)簡(jiǎn)單環(huán)境下的數(shù)據(jù)庫(kù)升級(jí)就結(jié)束了。
第二種,同樣適用任何存儲(chǔ)引擎。
1. 同樣先安裝好新版本的MySQL。
2. 在舊版本中,備份數(shù)據(jù)庫(kù)。
# mkdir /opt/mysqlsystems_bk ; mysqldump -p3306 -uroot –tab=/opt/mysqlsystems_bk mysqlsystems_com
Note: –tab選項(xiàng)可以在備份目錄mysqlsystems_bk下生成后綴為*.sql和*.txt的兩類(lèi)文件;其中,.sql保存了創(chuàng)建表的SQL語(yǔ)句而.txt保存著原始數(shù)據(jù)。
3. 接下來(lái)在新版本的數(shù)據(jù)庫(kù)下更新數(shù)據(jù)。
# mysqladmin -p3307 -uroot create mysqlsystems_com
# cat /opt/mysqlsystems_bk/*.sql | mysql -p3307 -uroot mysqlsystems_com ( Create Tables )
# mysqlimport mysqlsystems_com /opt/mysqlsystems_bk/*.txt ( Load Data )
4. 之后的所有步驟與第一種方法的后三步5、6、7相同。
第三種,適用于MyISAM存儲(chǔ)引擎,全部是文件間的拷貝。
1. 安裝。
2. 從舊版本mysqlsystems_com數(shù)據(jù)庫(kù)下將所有.frm、.MYD 和.MYI文件拷貝到新版本的相同目錄下。
3.之后的步驟依然同于第一種的后三步。
以上就是三種升級(jí)MySQL的方法,看似沒(méi)有出現(xiàn)什么問(wèn)題,其實(shí),在實(shí)際的生產(chǎn)環(huán)境中,為會(huì)有諸多問(wèn)題發(fā)生,這就需要我們?cè)谏?jí)之前充分了解新版本中增加了哪些新功能,進(jìn)一步分析升級(jí)以后這些新特性是否將會(huì)對(duì)我們?cè)瓉?lái)應(yīng)用產(chǎn)生影響
對(duì)于老版本的mysql升級(jí)可以看下一頁(yè)。
MySQL數(shù)據(jù)庫(kù)的版本更新很快,新的特性也隨之不斷的更新,更主要的是解決了很多影響我們應(yīng)用的BUG,為了讓我們的MySQL變得更美好,我們有必要去給它升級(jí),盡管你會(huì)說(shuō)它現(xiàn)在已經(jīng)跑得很好很穩(wěn)定完全夠用了。下面我們來(lái)看看幾種常用的升級(jí)方法。
介紹之前,我們先做一些聲明,MySQL采用二進(jìn)制包來(lái)安裝,升級(jí)都是在同一臺(tái)DB Server上操作。
第一種,很簡(jiǎn)單,適用于任何存儲(chǔ)引擎。
1. 下載并安裝好新版本的MySQL數(shù)據(jù)庫(kù),并將其端口改為3307(避免和舊版本的3306沖突),啟動(dòng)服務(wù)。
2. 在新版本下創(chuàng)建同名數(shù)據(jù)庫(kù)。
# mysqldump -p3307 -uroot create mysqlsystems_com
3. 在舊版本下備份該數(shù)據(jù)庫(kù)。
# mysqldump -p3306 -uroot mysqlsystems_com > mysqlsystems_com.bk
Note: 你也可以加上–opt選項(xiàng),這樣可以使用優(yōu)化方式將你的數(shù)據(jù)庫(kù)導(dǎo)出,減少未知的問(wèn)題。
4. 將導(dǎo)出的數(shù)據(jù)庫(kù)備份導(dǎo)入到新版本的MySQL數(shù)據(jù)庫(kù)中。
# mysql -p3307 -uroot mysqlsystems_com < mysqlsystems_com.bk
5. 再將舊版本數(shù)據(jù)庫(kù)中的data目錄下的mysql數(shù)據(jù)庫(kù)全部覆蓋到新版本中。
# cp -R /opt/mysql-5.1/data/mysql /opt/mysql-5.4/data
Note: 大家也都知道這個(gè)默認(rèn)數(shù)據(jù)庫(kù)的重要性。
6. 在新版下執(zhí)行mysql_upgrade命令,其實(shí)這個(gè)命令包含一下三個(gè)命令:
# mysqlcheck –check-upgrade –all-databases –auto-repair
# mysql_fix_privilege_tables
# mysqlcheck –all-databases –check-upgrade –fix-db-names –fix-table-names
Note: 在每一次的升級(jí)過(guò)程中,mysql_upgrade這個(gè)命令我們都應(yīng)該去執(zhí)行,它通過(guò)mysqlcheck命令幫我們?nèi)z查表是否兼容新版本的數(shù)據(jù)庫(kù)同時(shí)作出修復(fù),還有個(gè)很重要的作用就是使用mysql_fix_privilege_tables命令去升級(jí)權(quán)限表。
7. 關(guān)閉舊版本,將新版的數(shù)據(jù)庫(kù)的使用端口改為3306,重新啟動(dòng)新版本MySQL數(shù)據(jù)庫(kù)。到此,一個(gè)簡(jiǎn)單環(huán)境下的數(shù)據(jù)庫(kù)升級(jí)就結(jié)束了。
第二種,同樣適用任何存儲(chǔ)引擎。
1. 同樣先安裝好新版本的MySQL。
2. 在舊版本中,備份數(shù)據(jù)庫(kù)。
# mkdir /opt/mysqlsystems_bk ; mysqldump -p3306 -uroot –tab=/opt/mysqlsystems_bk mysqlsystems_com
Note: –tab選項(xiàng)可以在備份目錄mysqlsystems_bk下生成后綴為*.sql和*.txt的兩類(lèi)文件;其中,.sql保存了創(chuàng)建表的SQL語(yǔ)句而.txt保存著原始數(shù)據(jù)。
3. 接下來(lái)在新版本的數(shù)據(jù)庫(kù)下更新數(shù)據(jù)。
# mysqladmin -p3307 -uroot create mysqlsystems_com
# cat /opt/mysqlsystems_bk/*.sql | mysql -p3307 -uroot mysqlsystems_com ( Create Tables )
# mysqlimport mysqlsystems_com /opt/mysqlsystems_bk/*.txt ( Load Data )
4. 之后的所有步驟與第一種方法的后三步5、6、7相同。
第三種,適用于MyISAM存儲(chǔ)引擎,全部是文件間的拷貝。
1. 安裝。
2. 從舊版本mysqlsystems_com數(shù)據(jù)庫(kù)下將所有.frm、.MYD 和.MYI文件拷貝到新版本的相同目錄下。
3.之后的步驟依然同于第一種的后三步。
以上就是三種升級(jí)MySQL的方法,看似沒(méi)有出現(xiàn)什么問(wèn)題,其實(shí),在實(shí)際的生產(chǎn)環(huán)境中,為會(huì)有諸多問(wèn)題發(fā)生,這就需要我們?cè)谏?jí)之前充分了解新版本中增加了哪些新功能,進(jìn)一步分析升級(jí)以后這些新特性是否將會(huì)對(duì)我們?cè)瓉?lái)應(yīng)用產(chǎn)生影響
對(duì)于老版本的mysql升級(jí)可以看下一頁(yè)。
相關(guān)文章
MySQL之Field‘***’doesn’t have a default value錯(cuò)誤解決辦法
這篇文章主要介紹了MySQL之Field‘***’doesn’t have a default value錯(cuò)誤解決辦法,需要的朋友可以參考下2015-04-04
Mysql 的存儲(chǔ)引擎,myisam和innodb的區(qū)別
這篇文章主要介紹了Mysql 的存儲(chǔ)引擎,myisam和innodb的區(qū)別,需要的朋友可以參考下2014-12-12
MySQL服務(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-04
Linux中使用mysqladmin extended-status配合Linux命令查看MySQL運(yùn)行狀態(tài)
這篇文章主要介紹了Linux中使用mysqladmin extended-status配合Linux命令查看MySQL運(yùn)行狀態(tài),需要的朋友可以參考下2014-08-08
MySql獲取當(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

