如果都是比較新的版本的升級可以參考下面的文章,
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. 將匯出的Database Backup匯入到新版本的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升級可以看下一頁。