這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)怎樣進(jìn)行mysqlbackup的分析,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)公司專(zhuān)注為客戶(hù)提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、貢覺(jué)網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、貢覺(jué)網(wǎng)絡(luò)營(yíng)銷(xiāo)、貢覺(jué)企業(yè)策劃、貢覺(jué)品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供貢覺(jué)建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.comMysql的備份方法有很多種,大部分企業(yè)當(dāng)數(shù)據(jù)量很小的時(shí)候都是選擇mysqldump導(dǎo)出數(shù)據(jù)庫(kù)的方式來(lái)進(jìn)行備份,但是當(dāng)數(shù)據(jù)量較多的時(shí)候,就不建議用這種方法進(jìn)行。
公司的Mysql數(shù)據(jù)庫(kù)300GB,用mysqldump的方法進(jìn)行恢復(fù)的時(shí)候,居然用了整整的一個(gè)星期,如果真正在災(zāi)難的時(shí)候需要恢復(fù),那簡(jiǎn)直就是災(zāi)難啊。
經(jīng)過(guò)網(wǎng)上的查找和搜索,發(fā)現(xiàn)mysql的備份軟件確實(shí)太多,第三方的機(jī)構(gòu)也有提供了相應(yīng)的備份軟件,ORACLE公司也提供了針對(duì)企業(yè)的備份軟件MySQL Enterprise Backup簡(jiǎn)稱(chēng):mysqlbackup。
考慮到軟件的生命周期和軟件的文檔考慮,還是使用mysqlbakcup,原因如下:
mysqlbackup從3.5到4.1版本說(shuō)明mysql公司一直在更新這個(gè)軟件,這樣隨著mysql軟件的更新備份軟件也會(huì)跟著更新,避免出現(xiàn)bug沒(méi)有解決,同時(shí)mysql dba掌握了這么技術(shù)后也可以一直延續(xù)使用,提高了學(xué)習(xí)的收益。
在mysql的網(wǎng)站里面有完整的使用手冊(cè),這些文檔對(duì)于整個(gè)軟件的使用至關(guān)重要;
mysqlbackup企業(yè)版在mysql的開(kāi)源社區(qū)是下載不了的,需要有metalink的賬號(hào)才能下載。(早期是可以下載的,估計(jì)后來(lái)用戶(hù)的體驗(yàn)不錯(cuò),需要授權(quán)購(gòu)買(mǎi)oracle的服務(wù)才可以了)
目前我的環(huán)境都還是mysql5.6的,所以選擇用3.12的版本(3.12的版本修復(fù)了幾個(gè)重要的bug,建議用這個(gè)版本)
1.3 mysqlbackup軟件的安裝
選擇相應(yīng)的版本進(jìn)行下載,每臺(tái)要進(jìn)行備份的mysql服務(wù)器都需要安裝這個(gè)軟件。Mysql提供了兩種包,安裝的方法也有所不同。常用的安裝步驟如下:
sudo rpm -ipackage_name.rpm
tar xvzfpackage.tgz
安裝的目錄如下:/opt/mysql/meb-3.12
其他設(shè)置命令使用的快捷方式:ln -s /opt/mysql/meb-3.12/bin/mysqlbackup /usr/bin/mysqlback
二、mysqlbackup工具的介紹
mysqlbackup和mysqldump的主要功能是備份跟還原,mysqlbackup是oracle的企業(yè)產(chǎn)品感覺(jué)整個(gè)產(chǎn)品的思路和oracle的rman很像。mysqlbackup的功能對(duì)比成oracle的expdp。
Mysqlbackup提供了備份還原一些企業(yè)的功能:提供了更快的備份方式和更快的還原方式,支持在線全備和增倍、備份的壓縮、并行備份、備份的加密、數(shù)據(jù)庫(kù)的還原和基于時(shí)間點(diǎn)的還原。
通過(guò)mysqlbackup3.1.1 備份位置和空間的配置。
建議備份的目錄和數(shù)據(jù)庫(kù)文件的目錄區(qū)分開(kāi),避免備份把空間撐爆了而導(dǎo)致系統(tǒng)不能使用;
3.1.2 設(shè)置備份策略(備份頻率、備份保留周期)
同時(shí)計(jì)算下每次備份所需要的磁盤(pán)空間再根據(jù)備份策略合理安排備份的空間;
3.1.3 創(chuàng)建單獨(dú)的備份用戶(hù)
其他業(yè)務(wù)分開(kāi)賬號(hào)的使用,數(shù)據(jù)庫(kù)作為重要的系統(tǒng),一般都會(huì)每年變更管理密碼的,這里單獨(dú)使用一個(gè)避免后期還需要變更;
備份用戶(hù)所需要的基本權(quán)限
備份其實(shí)主要的內(nèi)容也就是backup、restore和校驗(yàn)。每個(gè)階段使用的主要參數(shù)如下:
Backup operations: backup, backup-and-apply-log, backup-to-image
Update operations: apply-log, apply-incremental-backup
Restore operations: copy-back, copy-back-and-apply-log
Validation operation: validate Single-file backup
operations: image-to-backup-dir, backup-dir-to-image, list-image, extract
在3.12.3以下的版本backup-and-apply-log這個(gè)備份的時(shí)候不能結(jié)合參數(shù)compress使用。mysqlbackup官方的文檔建議使用backup-to-image選項(xiàng),該方法性能更好,而且備份的文件也更小。
備注:
When used with the apply-log or copy-back-and-apply-log operation, uncompresses a compressed backup before applying the InnoDB log. When used with the copy-back operation,uncompresses a compressed prepared backup (created by the backup-and-apply-log command with the --compress option) before restoring it to a server (only supported for MySQL Enterprise
Backup 3.12.3 and later).
backup-to-image
Produces a single-file backup holding the backup data. In most cases, single-file backups are preferred over directory backups, which are created using the backup command.
3.3 備份庫(kù)主要參數(shù)
可以通過(guò)mysqlbackup --help會(huì)顯示豐富的參數(shù)說(shuō)明,這邊列幾個(gè)比較常見(jiàn)的參數(shù)
參數(shù) | 說(shuō)明 | 備注 | ||
--backup-dir | The directory to store the backup data. | |||
--backup-image | Specifies the path name of the backup image. | 結(jié)合backup-to-image使用 | ||
--compress | Create backup in compressed format. | 默認(rèn)級(jí)別是1 | ||
--compress-level | Specifies the level of compression. | --compress-level=LEVEL --uncompress | Uncompress the compressed backup before an apply-log, copy-back, or copy-back-and-apply-log operation. | 如果備份是有使用compress,還原的時(shí)候就得使用該參數(shù) |
--datadir | Path to mysql server data directory. | |||
--defaults-file | Only read default options from the given file. | |||
--force | Force overwriting of data, log, or image files, depending on the operation. | 進(jìn)行強(qiáng)制覆蓋 | ||
--incremental | Specifies that the associated backup or backup-to-image operation is incremental. | 增量備份選項(xiàng) | ||
--incremental-backup-dir | Specifies the location under which to store data from an incremental backup. | 增量備份保存位置 | ||
--incremental-base | The specification of base backup for --incremental option. | 上次完整備份的位置 | ||
--with-timestamp | Create a subdirectory underneath the backup directory with a name formed from the timestamp of the backup operation. | 根據(jù)時(shí)間戳生成一個(gè)文件,因?yàn)閭浞莸臅r(shí)候需要在一個(gè)空的目錄保存文件,所以一般建議使用整個(gè)參數(shù) |
四、mysqlbackup備份及還原
方法二:在不同的時(shí)期使用app-log 點(diǎn)擊(此處)折疊或打開(kāi)
【注】backup-and-apply-log使用這個(gè)腳本,mysql官方文檔有以下說(shuō)明,不能用于增量備份,但是在實(shí)驗(yàn)中卻是可以的;
backup-and-apply-log
A combination of backup and apply-log. It cannot be used for an incremental backup.
這種方法是mysql官方推薦的,只有產(chǎn)生單個(gè)的備份二進(jìn)制文件,整個(gè)備份的大小也比前面兩種要小
點(diǎn)擊(此處)折疊或打開(kāi)
方法一:用bakcup的方法進(jìn)行的增量備份 點(diǎn)擊(此處)折疊或打開(kāi)
方法二:用image的方法進(jìn)行的增量備份 點(diǎn)擊(此處)折疊或打開(kāi)
備份的操作:先進(jìn)行全備后進(jìn)行增備
mysqlbackup --user=mysqlbackup --password=123 --backup-image=backup.mbi --backup-dir=/backup --with-timestamp backup-to-image #先備份成image
mysqlbackup --defaults-file=/etc/my.cnf --user=mysqlbackup --password=123 --with-timestamp --incremental --incremental-backup-dir=/backup/ --incremental-base=dir:/backup/2017-09-18_15-53-57 backup #在原來(lái)備份的基礎(chǔ)上進(jìn)行增量備份
點(diǎn)擊(此處)折疊或打開(kāi)
還原的操作
mysqlbackup --backup-dir=/backup/full --backup-image=/backup/2017-09-18_15-53-57/backup.mbi image-to-backup-dir 先轉(zhuǎn)換成方法一的備份文件,后續(xù)的步驟都跟前面一樣
mysqlbackup --backup-dir=/backup/full apply-log
mysqlbackup --backup-dir=/backup/full --incremental-backup-dir=/backup/2017-09-18_15-56-13 apply-incremental-backup
mysqlbackup --defaults-file=/etc/my.cnf --force --backup-dir=/backup/full --datadir=/data/mysql copy-back-and-apply-log
點(diǎn)擊(此處)折疊或打開(kāi)
mysqlbackup --backup-image=/backup/2017-09-18_15-53-57/backup.mbi validate 檢查備份的有效性;
mysqlbackup --backup-image=/backup/2017-09-18_15-53-57/backup.mbi list-image 列出備份對(duì)象
mysqlbackup --backup-image=/backup/2017-09-18_15-53-57/backup.mbi extract 進(jìn)行解壓,直接在備份目錄里面操作
mysqlbackup --backup-dir=/backup/backup --backup-image=/backup/2017-09-18_15-53-57/backup.mbi image-to-backup-dir 指定備份目錄進(jìn)行解壓
關(guān)于備份的壓縮:其實(shí)備份的壓縮挺好用的,經(jīng)過(guò)測(cè)試可以顯著的節(jié)省備份的空間。雖然在上面測(cè)試的時(shí)候沒(méi)有演示,實(shí)際上本人是有操作過(guò)備份壓縮的,而且相對(duì)于正常的備份其實(shí)并沒(méi)有消耗很多的時(shí)間;
關(guān)于image的增量備份:image的增量備份恢復(fù)步驟相對(duì)全備麻煩了很多,在官方文檔里面找了很久是不是還有更便捷的操作,但始終沒(méi)有找到相關(guān)操作說(shuō)明,如果知道的朋友麻煩留下言,感激不盡;
關(guān)于增量備份:增量備份有沒(méi)有必要了,其實(shí)這要看我們系統(tǒng)的重要性、數(shù)據(jù)增長(zhǎng)的速度。目前我們這邊大的系統(tǒng)2天才產(chǎn)生一個(gè)G的binlog,整體數(shù)據(jù)庫(kù)也不算很大,所以現(xiàn)在每天都是使用全備了。
關(guān)于該軟件:mysqlbackup其實(shí)還有很多的功能的,可以針對(duì)表、數(shù)據(jù)庫(kù)對(duì)象進(jìn)行備份。同時(shí)也可以用于搭建從庫(kù),這個(gè)功能對(duì)于數(shù)據(jù)庫(kù)很大的用戶(hù)是個(gè)福音,強(qiáng)烈對(duì)劍該功能;
但是由于這個(gè)軟件是Oracle的企業(yè)版,付費(fèi)用戶(hù)才能使用的,所以網(wǎng)上相關(guān)的資料并不多。
上述就是小編為大家分享的怎樣進(jìn)行mysqlbackup的分析了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。