如果都是比較新的版本的升級可以參考下面的文章,
MySQL數據庫的版本更新很快,新的特性也隨之不斷的更新,更主要的是解決了很多影響我們應用的BUG,為了讓我們的MySQL變得更美好,我們有必要去給它升級,盡管你會說它現在已經跑得很好很穩定完全夠用了。下面我們來看看幾種常用的升級方法。
介紹之前,我們先做一些聲明,MySQL采用二進制包來安裝,升級都是在同一台DB Server上操作。
第一種,很簡單,適用於任何存儲引擎。 1. 下載並安裝好新版本的MySQL數據庫,並將其端口改為3307(避免和舊版本的3306沖突),啟動服務。
2. 在新版本下創建同名數據庫。
# mysqldump -p3307 -uroot create mysqlsystems_com
3. 在舊版本下備份該數據庫。
# mysqldump -p3306 -uroot mysqlsystems_com > mysqlsystems_com.bk
Note: 你也可以加上–opt選項,這樣可以使用優化方式將你的數據庫導出,減少未知的問題。
4. 將導出的數據庫備份導入到新版本的MySQL數據庫中。
# mysql -p3307 -uroot mysqlsystems_com < mysqlsystems_com.bk
5. 再將舊版本數據庫中的data目錄下的mysql數據庫全部覆蓋到新版本中。
# cp -R /opt/mysql-5.1/data/mysql /opt/mysql-5.4/data
Note: 大家也都知道這個默認數據庫的重要性。
6. 在新版下執行mysql_upgrade命令,其實這個命令包含一下三個命令:
# mysqlcheck –check-upgrade –all-databases –auto-repair
# mysql_fix_privilege_tables
# mysqlcheck –all-databases –check-upgrade –fix-db-names –fix-table-names
Note: 在每一次的升級過程中,mysql_upgrade這個命令我們都應該去執行,它通過mysqlcheck命令幫我們去檢查表是否兼容新版本的數據庫同時作出修復,還有個很重要的作用就是使用mysql_fix_privilege_tables命令去升級權限表。
7. 關閉舊版本,將新版的數據庫的使用端口改為3306,重新啟動新版本MySQL數據庫。到此,一個簡單環境下的數據庫升級就結束了。
第二種,同樣適用任何存儲引擎。 1. 同樣先安裝好新版本的MySQL。
2. 在舊版本中,備份數據庫。
# mkdir /opt/mysqlsystems_bk ; mysqldump -p3306 -uroot –tab=/opt/mysqlsystems_bk mysqlsystems_com
Note: –tab選項可以在備份目錄mysqlsystems_bk下生成後綴為*.sql和*.txt的兩類文件;其中,.sql保存了創建表的SQL語句而.txt保存著原始數據。
3. 接下來在新版本的數據庫下更新數據。
# 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存儲引擎,全部是文件間的拷貝。
1. 安裝。
2. 從舊版本mysqlsystems_com數據庫下將所有.frm、.MYD 和.MYI文件拷貝到新版本的相同目錄下。
3.之後的步驟依然同於第一種的後三步。
以上就是三種升級MySQL的方法,看似沒有出現什麼問題,其實,在實際的生產環境中,為會有諸多問題發生,這就需要我們在升級之前充分了解新版本中增加了哪些新功能,進一步分析升級以後這些新特性是否將會對我們原來應用產生影響
對於老版本的mysql升級可以看下一頁。