數(shù)據(jù)庫復(fù)制 - mysql 直接拷貝data 目錄下文件 進行數(shù)據(jù)庫遷移時遇到的一些問題??
問題描述
我目前有兩個數(shù)據(jù)庫:
mysql5.6.x
mysql5.7.x
現(xiàn)在要將mysql5.6.x 的所有數(shù)據(jù) 遷移到 mysql5.7.x 中,采取的是直接將 mysqldata 目錄下的相關(guān)文件夾(數(shù)據(jù)庫)拷貝到 mysql5.7.x 的data目錄下。
期間出現(xiàn)問題,通過百度知道: innodb 的表,直接復(fù)制文件是無法使用的,會提示 table doesn’t exists ,在復(fù)制的時候,應(yīng)將data目錄下的 ibdata1 文件一并復(fù)制過去,并且刪除ib_logfile1 ib_logfile1 文件。
如果是導(dǎo)入到全新的數(shù)據(jù)庫中(mysql5.7.x 數(shù)據(jù)庫新創(chuàng)建,里面沒有任何已創(chuàng)建的數(shù)據(jù)庫),那肯定是完美的做法。
可若是,將被導(dǎo)入的數(shù)據(jù)庫中已經(jīng)有創(chuàng)建的數(shù)據(jù)庫了該怎么辦??
若是將 mysql5.6.x 中的 ibdata1 文件 覆蓋 mysql5.7.x 中的 ibdata1 , 則從mysql5.6.x 遷移過來的數(shù)據(jù)庫全部有用 , 可 mysql5.7.x 中原先已創(chuàng)建的數(shù)據(jù)庫將全被報廢。
有沒有辦法實現(xiàn): 通過直接拷貝文件的方式 遷移數(shù)據(jù)庫, 且不會出現(xiàn) 上述問題??
希望大神們都分享些: 數(shù)據(jù)庫遷移的方法
問題解答
回答1:可以使用navicat的數(shù)據(jù)傳輸,只傳輸你需要遷移的數(shù)據(jù)(表、視圖、函數(shù)等)。
回答2:xtrabackup
回答3:1、官方有升級手冊,你為什么要看百度……h(huán)ttp://dev.mysql.com/doc/refm...
2、在目的機已有數(shù)據(jù)庫的情況下,你還要整個數(shù)據(jù)庫目錄都往上貼,什么想法。
通過直接拷貝文件的方式遷移數(shù)據(jù)庫,本身風(fēng)險就非常大,你還要繼續(xù)給自己增加難度。
相關(guān)文章:
1. angular.js - 輸入郵箱地址之后, 如何使其自動在末尾添加分號?2. javascript - 后臺管理系統(tǒng)左側(cè)折疊導(dǎo)航欄數(shù)據(jù)較多,怎么樣直接通過搜索去定位到具體某一個菜單項位置,并展開當(dāng)前菜單3. 如何解決docker宿主機無法訪問容器中的服務(wù)?4. javascript - Web微信聊天輸入框解決方案5. javascript - 如何使用nodejs 將.html 文件轉(zhuǎn)化成canvas6. python - Scrapy存在內(nèi)存泄漏的問題。7. 如何用筆記本上的apache做微信開發(fā)的服務(wù)器8. CSS3 畫如下圖形9. angular.js - $stateChangeSuccess事件在狀態(tài)跳轉(zhuǎn)的時候不執(zhí)行?10. android - rxjava merge 返回Object對象數(shù)據(jù)如何緩存
