數(shù)據(jù)庫復(fù)制 - mysql 直接拷貝data 目錄下文件 進(jìn)行數(shù)據(jù)庫遷移時(shí)遇到的一些問題??
問題描述
我目前有兩個數(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ù)制的時(shí)候,應(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ù)庫將全被報(bào)廢。
有沒有辦法實(shí)現(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、在目的機(jī)已有數(shù)據(jù)庫的情況下,你還要整個數(shù)據(jù)庫目錄都往上貼,什么想法。
通過直接拷貝文件的方式遷移數(shù)據(jù)庫,本身風(fēng)險(xiǎn)就非常大,你還要繼續(xù)給自己增加難度。
相關(guān)文章:
1. Span標(biāo)簽2. css - 求推薦適用于vue2的框架 像bootstrap這種類型的3. docker-machine添加一個已有的docker主機(jī)問題4. css - 關(guān)于div自適應(yīng)問題,大家看圖吧,說不清5. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””6. SessionNotFoundException:會話ID為null。調(diào)用quit()后使用WebDriver嗎?(硒)7. android新手一枚,android使用httclient獲取服務(wù)器端數(shù)據(jù)失敗,但是用java工程運(yùn)行就可以成功獲取。8. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問題。9. java - Collections類里的swap函數(shù),源碼為什么要新定義一個final的List型變量l指向傳入的list?10. python - django如何每次調(diào)用標(biāo)簽的時(shí)候都取隨機(jī)數(shù)據(jù)
