數據庫復制 - mysql 直接拷貝data 目錄下文件 進行數據庫遷移時遇到的一些問題??
問題描述
我目前有兩個數據庫:
mysql5.6.x
mysql5.7.x
現在要將mysql5.6.x 的所有數據 遷移到 mysql5.7.x 中,采取的是直接將 mysqldata 目錄下的相關文件夾(數據庫)拷貝到 mysql5.7.x 的data目錄下。
期間出現問題,通過百度知道: innodb 的表,直接復制文件是無法使用的,會提示 table doesn’t exists ,在復制的時候,應將data目錄下的 ibdata1 文件一并復制過去,并且刪除ib_logfile1 ib_logfile1 文件。
如果是導入到全新的數據庫中(mysql5.7.x 數據庫新創建,里面沒有任何已創建的數據庫),那肯定是完美的做法。
可若是,將被導入的數據庫中已經有創建的數據庫了該怎么辦??
若是將 mysql5.6.x 中的 ibdata1 文件 覆蓋 mysql5.7.x 中的 ibdata1 , 則從mysql5.6.x 遷移過來的數據庫全部有用 , 可 mysql5.7.x 中原先已創建的數據庫將全被報廢。
有沒有辦法實現: 通過直接拷貝文件的方式 遷移數據庫, 且不會出現 上述問題??
希望大神們都分享些: 數據庫遷移的方法
問題解答
回答1:可以使用navicat的數據傳輸,只傳輸你需要遷移的數據(表、視圖、函數等)。
回答2:xtrabackup
回答3:1、官方有升級手冊,你為什么要看百度……http://dev.mysql.com/doc/refm...
2、在目的機已有數據庫的情況下,你還要整個數據庫目錄都往上貼,什么想法。
通過直接拷貝文件的方式遷移數據庫,本身風險就非常大,你還要繼續給自己增加難度。
相關文章:
1. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?2. 大家好,請問在python腳本中怎么用virtualenv激活指定的環境?3. Matlab和Python編程相似嗎,有兩種都學過的人可以說說嗎4. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應5. javascript - Html5做移到端定位,獲取授權拒絕了怎么辦?6. 網頁爬蟲 - 用Python3的requests庫模擬登陸Bilibili總是提示驗證碼錯誤怎么辦?7. android - QQ物聯,視頻通話8. javascript - 關于audio標簽暫停的問題9. javascript - 微信小程序封裝定位問題(封裝異步并可能多次請求)10. javascript - Web微信聊天輸入框解決方案
