新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MySQL MyISAM和InNodb備份與恢復(fù)技巧

MySQL MyISAM和InNodb備份與恢復(fù)技巧

作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò) 收藏

在注釋中顯示日志的十六進(jìn)制轉(zhuǎn)儲(chǔ)。該輸出可以幫助復(fù)制過(guò)程中的調(diào)試。在 5.1.2中添加了該選項(xiàng)。

本文引用地址:http://m.butianyuan.cn/article/201609/304118.htm

· --host=host_name,-h host_name

獲取給定主機(jī)上的服務(wù)器的二進(jìn)制日志。

· --local-load=path,-l pat

為指定目錄中的LOAD DATA INFILE預(yù)處理本地臨時(shí)文件。

· --offset=N,-o N

跳過(guò)前N個(gè)條目。

· --password[=password],-p[password]

當(dāng)連接服務(wù)器時(shí)使用的密碼。如果使用短選項(xiàng)形式(-p),選項(xiàng)和 密碼之間不能有空格。如果在命令行中--password或-p選項(xiàng)后面沒有 密碼值,則提示輸入一個(gè)密碼。

· --port=port_num,-P port_num

用于連接遠(yuǎn)程服務(wù)器的TCP/IP端口號(hào)。

· --position=N,-j N

不贊成使用,應(yīng)使用--start-position。

· --protocol={TCP | SOCKET | PIPE | -position

使用的連接協(xié)議。

· --read-from-remote-server,-R

服務(wù)器讀二進(jìn)制日志。如果未給出該選項(xiàng),任何連接參數(shù)選項(xiàng)將被忽略。這些選項(xiàng)是--host、--password、--port、--protocol、--socket和--user。

· --result-file=name, -r name

將輸出指向給定的文件。

· --short-form,-s

只顯示日志中包含的語(yǔ)句,不顯示其它信息。

· --socket=path,-S path

用于連接的套接字文件。

· --start-datetime=datetime

從二進(jìn)制日志中第1個(gè)日期時(shí)間等于或晚于datetime參量的事件開始讀取。datetime值相對(duì)于運(yùn)行mysqlbinlog的機(jī)器上的本地時(shí)區(qū)。該值格式應(yīng)符合DATETIME或TIMESTAMP數(shù)據(jù)類型。例如:

shell> mysqlbinlog --start-datetime=2004-12-25 11:25:56 binlog.000003

該選項(xiàng)可以幫助點(diǎn)對(duì)點(diǎn)。

· --stop-datetime=datetime

從二進(jìn)制日志中第1個(gè)日期時(shí)間等于或晚于datetime參量的事件起停止讀。關(guān)于datetime值的描述參見--start-datetime選項(xiàng)。該選項(xiàng)可以幫助及時(shí)。

· --start-position=N

從二進(jìn)制日志中第1個(gè)位置等于N參量時(shí)的事件開始讀。

· --stop-position=N

從二進(jìn)制日志中第1個(gè)位置等于和大于N參量時(shí)的事件起停止讀。

· --to-last-logs,-t

在MySQL服務(wù)器中請(qǐng)求的二進(jìn)制日志的結(jié)尾處不停止,而是繼續(xù)打印直到最后一個(gè)二進(jìn)制日志的結(jié)尾。如果將輸出發(fā)送給同一臺(tái)MySQL服務(wù)器,會(huì)導(dǎo)致無(wú)限循環(huán)。該選項(xiàng)要求--read-from-remote-server。

· --disable-logs-bin,-D

禁用二進(jìn)制日志。如果使用--to-last-logs選項(xiàng)將輸出發(fā)送給同一臺(tái)MySQL服務(wù)器,可以避免無(wú)限循環(huán)。該選項(xiàng)在崩潰時(shí)也很有用,可以避免復(fù)制已經(jīng)記錄的語(yǔ)句。注釋:該選項(xiàng)要求有SUPER權(quán)限。

· --user=user_name,-u user_name

連接遠(yuǎn)程服務(wù)器時(shí)使用的MySQL用戶名。

· --version,-V

顯示版本信息并退出。

還可以使用--var_name=value選項(xiàng)設(shè)置下面的變量:

· open_files_limit

指定要保留的打開的文件描述符的數(shù)量。

4. InnoDB 表/恢復(fù)策略

4.1. 使用商業(yè)的在線熱工具

InnoDB Hotbackup 是一個(gè)在線工具,你可以用它來(lái)在InnoDB數(shù)據(jù)庫(kù)運(yùn)行之時(shí)備份你的InnoDB數(shù)據(jù)庫(kù)。InnoDB 熱備份工具 不要求你關(guān)閉數(shù)據(jù)庫(kù),并且它不設(shè)置任何鎖定或干擾你正常的數(shù)據(jù)庫(kù)處理。InnoDB 熱備份工具 是非免費(fèi)(商業(yè)的)附加軟件,它每年的證書費(fèi)用是每臺(tái)MySQL服務(wù)器運(yùn)行的計(jì)算機(jī)390歐元。

具體使用方法可以參考相關(guān)文檔,我也沒有使用過(guò)這個(gè)工具。

4.2. 使用mysqldump 熱備份

Mysqldump提供對(duì)InnoDB非物理的在線邏輯熱備份。

使用方法與備份MyISAM時(shí)一樣。

4.3. 使用select into 熱備份單個(gè)/多個(gè)表

可以使用select into備份一個(gè)或多個(gè)表,用法與MyISAM表相同。

4.4. 二進(jìn)制冷備份

如果你可以關(guān)閉你的MySQL服務(wù)器,你可以生成一個(gè)包含InnoDB用來(lái)管理它的表的所有文件的二進(jìn)制備份。使用如下步驟:

1. 關(guān)閉MySQL服務(wù)器,確信它是無(wú)錯(cuò)誤關(guān)閉。

2. 復(fù)制你所有數(shù)據(jù)文件(ibdata文件和.ibd文件)到一個(gè)安全的地方。

3. 復(fù)制你所有ib_logfile文件到一個(gè)安全的地方。

4. 復(fù)制my.cnf配置文件或文件到一個(gè)安全的地方。

5. 為你InnoDB表復(fù)制.frm文件到一個(gè)安全的地方。

4.5. InnoDB 表恢復(fù)

1、 先嘗試使用InnoDB的日志自動(dòng)恢復(fù)功能,方法是重啟mysql服務(wù)。

2、 在一些情況下,明顯地?cái)?shù)據(jù)庫(kù)損壞是因?yàn)椴僮飨到y(tǒng)損壞它自己的文件緩存,磁盤上的數(shù)據(jù)可能完好,最好是首先重啟計(jì)算機(jī)。它可以消除那些顯得是數(shù)據(jù)庫(kù)頁(yè)損壞的錯(cuò)誤。

如果不行,則采用下面的方法進(jìn)行恢復(fù)。

3、 如果是mysqldump做的完全備份,先恢復(fù)完全備份,然后再恢復(fù)完全備份后的增量日志備份。

4、 如果是采用select into備份表的話,則采用load data或mysqlimport恢復(fù)。

5、 如果是采用二進(jìn)制冷備份做的完全備份,則先停止mysql服務(wù),覆蓋備份的二進(jìn)制文件,然后執(zhí)行上次完全備份后的增量日志備份。

6、 注意:InnoDB二進(jìn)制文件沒有MyISAM那么好,必須在相同的浮點(diǎn)數(shù)的cpu機(jī)器上移植。

5. MyISAM/InnoDB 備份/恢復(fù)策略

因?yàn)樵谝粋€(gè)數(shù)據(jù)庫(kù)中有可能要同時(shí)使用MyISAM和InnoDB兩種引擎,因此統(tǒng)一考慮他們的備份/恢復(fù)策略。

1、 完整備份采用mysqldump。

2、 增量備份采用bin-log日志。

3、 單表備份采用select into。

4、

6. 定期維護(hù)表

雖然MySQL提供了多種備份/恢復(fù)手段,但是定期維護(hù)表大大可以降低表毀壞的可能性,并且可以提高查詢性能。

1、對(duì)于InnoDB引擎,你可以使用innodb_tablespace_monitor來(lái)檢查表空間文件內(nèi)文件空間管理的完整性。

2、對(duì)于MyISAM引擎,可以通過(guò)sql語(yǔ)句或myisamchk 工具來(lái)維護(hù)表 。



關(guān)鍵詞: MySQL 備份 恢復(fù)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉