MySQL InnoDB 備份與恢復七種方式

2021-09-08 13:54:44 字數 1329 閱讀 7755

有幾種方式:

1 mysqldump, 這種方式不僅適用於innodb,還適用於其它型別的儲存引擎,如myisam。備份的時候將資料庫備份成sql(包含drop,create,insert等語句),恢復的時候直接匯入即可。屬於邏輯備份。

2 copy file, 我們知道innodb底層儲存的時候會將資料和元資訊存在下列檔案中:

ibdata*, *.ibd, *.frm, *.ib_logfile*,所以備份這些檔案即可備份innodb的資料,另外別忘了將mysql的配置檔案my.cnf也一併備份起來。如果my.cnf中開啟了innodb_file_per_table那麼innodb在儲存的時候也會像myisam那樣每乙個表都會有相應的檔案,你也可以只備份其中的某些檔案(也就是表)。注意copy這些files的時候,最好能確保innodb的所有事務都commit了。比如你可以將mysql暫時關閉掉,如果不能忍受一些down time的話,先不要考慮這種方式。另外還可以先獲取table的read lock, 比如lock tables customers read. 你可以用show innodb status看看還有沒有活動的事務沒有commit。屬於物理備份。

下面講一下這種備份方式怎麼恢復:

a. 停止任何關於這個表的寫,lock tables customers write;

b. 刪除這個表的空間,alter table customers discard tablespace;

c. 將你備份的.ibd檔案拷貝到相應的目錄下。

d. 重新建立表空間,alter table customers import tablespace;

e. 釋放寫鎖,unlock tables customers;

3 ibbackup, 這是乙個商業化的工具,將你線上的my.cnf配置檔案複製乙份出來到比如說/etc/my.backup.cnf,更改裡邊的datadir等比如說到/data/backup,然後執行 ibbackup /etc/my.cnf /etc/my.backup.cnf, ibbackup就會講my.cnf所指向的的資料內容備份到my.backup.cnf指向的資料目錄。恢復的時候也很奇葩,因為你現在等於說是擁有了兩個資料目錄,所以你重新執行mysql,safe_mysqld --defaults-file=/etc/my.backup.cnf. 這種方式僅侷限於你的資料庫全部使用innodb儲存引擎。

4 innobackup,如果你還有其它資料表用的是myisam,那麼你可以使用innobackup,它不但會將innodb的相關檔案備份起來,還會將myisam的比如myi, myd檔案也備份起來。innobackup使用了ibbackup作為innodb的備份子工具。

5 利用mysql administrator

mysql meb mysql meb備份與恢復

介紹 1.這個軟體是收費的,由oracle開發 2.它可以用來備份myisam表,但是若資料庫中只有myisam表,則不能備份,會報錯 安裝軟體 meb 3.5.2 rhel5.i386.rpm 裡面有三個命令 全備 資料庫開啟 opt mysql meb 3.5 bin innobackup 1....

Elasticsearch集群的備份與恢復

rootsecurity 2016 02 03 10 47 在es集群上做乙個nfs,並掛載 email protected yum install nfs utils email protected vi etc exports 複製 192.168.1.2 rw 192.168.1.3 rw 1...

elasticsearch 資料的備份與恢復

1.備份資料 1.1 建立備份倉庫 1.2 備份指令碼 cat alidata1 admin scripts elasticsearch es bak del.sh bin bash define vars es url es bak repo hsbc backup es user elastic...