japanese少妇高潮潮喷 -精品国产AV一区二区三区-麻豆av一区二区三区久久-国产精品无码专区

如何快速恢復Mysql數據庫中表類型為InnoDB的表結構和數據

發布時間:2025-07-25 點擊:12
作為一個php的程序員,用了好多年的mysql數據庫,一般的數據表我們要么用innodb的表類型(engine)或myisam的表類型居多。在創建數據庫表的時候,默認是使用的表類型是innodb的,當時也沒太在意,反正不影響數據庫的使用,今天我們不講innodb和myisam的區別(在使用事務時,需要用到innodb表類型之類的),而是講下這兩種數據表的如何備份。
一般備份數據庫最簡單的方法就是使用phpmyadmin網頁來導出保存為sql文件數據庫或navicat使用軟件將所有的數據表全選后另存為sql文件。除了兩種方法外,還能通過備份msyql安裝目錄里的data文件夾里的數據庫文件來備份數據庫,data路徑如下圖所示:
如果是表類型為myisam的數據庫則非常簡單,只需要將數據表文件夾(如上圖所示的”xianda”)復制到data的目錄里就可以使用這個數據庫了。現在重點講下如何快速恢復表類型為innodb的數據庫,根據我的經驗而言(可能還有其他的辦法),想要恢復innodb的數據庫有一個必要條件,那就是你必須同時備份了上圖所示的ibdata1的文件,否則將無法備份innodb數據表。例如上圖里的”sgccmindb”就是innodb的數據庫,首先關閉mysql service,然后同時復制數據庫文件夾和ibdata1到data目錄里,如果data有其他數據庫,請先備份,否則ibdata1文件替換原先的ibdata1文件后,原先的數據庫可能會無法使用,特別是表類型innodb的數據庫肯定無法使用。
以前遇到的問題:只復制數據庫,并沒有復制ibdata1文件,造成的情況如下圖所示:
從navicat軟件里可以查看到數據表的數據長度為0kb,并且表結構也是無法保存,如果雙擊打開數據表,會彈出錯誤如下圖所示:
即提示這個表是不存在的,從上面的兩個提示可以推斷,innodb的數據庫是把所有的數據都保存在ibdata1文件了,而myisam的數據庫則直接把數據保存在表文件里的。


傳統網站制作的方式都有哪幾種?
網站建設分享4種專業方式來創造令人興奮的內容
營銷類網站建設者應避免犯的七個錯誤
圍繞用戶需要,在B站打廣告的“三步走”策略
黃浦網站推廣公司怎么挑選?
時代變遷,在上海做網站推廣的體驗與感概
香港高防服務器防御ddos攻擊的方式
5G時代萬物互聯,移動互聯網域名價值凸顯