MySQL備份與恢複

來源:互聯網
上載者:User

標籤:Database Backup   資料庫表   資料庫檔案   伺服器   tables   

第一步準備工作:

 為了避免資料的不一致問題的發生,在備份資料庫檔案期間,不允許對該資料庫的資料進行更新操作。為了實現這個目的,最為簡單的方法就是停止MySQL服務。然後,將備份檔案複製到其他儲存空間中。

  另一種方法無需停止MySQL服務,而是使用MySQL命令“flush tables with read lock”將伺服器記憶體中的資料重新整理到資料庫檔案中,同時鎖定所有的表,以保證備份期間不會有新的資料寫入,從而避免資料的不一致問題發生。備份檔案複製到其他儲存空間後,使用MySQL命令“unlock tables”進行鎖檔案,MySQL服務執行個體即可重新提供資料更新服務,執行結果操作。

 備忘:MySQL命令“flush tables with read lock”禁止了所有資料庫表的更新操作,但無法禁止資料庫表的查詢操作。

 

第二步:

  MySQL資料庫中的資料最終以檔案的形式存在。備份的準備工作做好後,需要將資料庫的那些檔案拷貝到磁碟中?

  如果資料庫中全部是myISAM儲存引擎的表,最為簡單的Database Backup方法是“備份”整個資料庫目錄(例如,將choose資料庫對應的choose目錄拷貝到磁碟中即可)。

  如果某個資料庫中還存在InnoDB儲存引擎的表,此時不僅需要“備份”整個資料庫目錄,還需要備份ibdata1資料表空間檔案以及重做記錄檔ib_logfile0和ib_logfile1.

   備份資料庫時,建議將MySQL設定檔一併進行備份。

 

 第三步:

  首先停止MySQL服務,然後將整個資料庫目錄、MySQL設定檔、ibdata1資料表空間檔案以及重做記錄檔ib_logfile0和ib_logfile1複製到新MySQL伺服器對應目錄,這樣即可恢複資料庫中的資料。

   如果“新MySQL伺服器”與“舊MySQL伺服器”的資料庫根目錄不同,則還需要修改my.ini設定檔中的【mysqld】選項組中的datadir參考資訊。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.