應(yīng)該怎么樣備份mysql-創(chuàng)新互聯(lián)

本文主要給大家介紹應(yīng)該怎么樣備份mysql,文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對(duì)性,對(duì)大家的參考意義還是比較大的,下面跟筆者一起了解下應(yīng)該怎么樣備份mysql吧。

創(chuàng)新互聯(lián)從2013年開(kāi)始,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元紅山做網(wǎng)站,已為上家服務(wù),為紅山各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
備份的目的:
    實(shí)現(xiàn)災(zāi)難恢復(fù):誤操作、硬件故障、軟件故障、自然災(zāi)害、******
	
注意的要點(diǎn):
    1、能夠容忍丟失多少數(shù)據(jù)
    2、恢復(fù)數(shù)據(jù)所用的時(shí)間
    3、備份需要的時(shí)間
    4、是否對(duì)業(yè)務(wù)有影響
    5、備份時(shí)云服務(wù)器負(fù)載
	
	
備份類(lèi)型
    完全備份:備份整個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)
    部分備份:備份指定的一部分?jǐn)?shù)據(jù)
    增量備份:備份上一次備份后增加的數(shù)據(jù)
    差異備份:備份從最后一次完全備份后起發(fā)生改變的數(shù)據(jù)
    熱備份:讀寫(xiě)操作均可以進(jìn)行
    溫備份:只讀
    冷備份:不可寫(xiě),不可讀
    邏輯備份:從數(shù)據(jù)庫(kù)中導(dǎo)出數(shù)據(jù),與存儲(chǔ)引擎無(wú)關(guān)
    物理備份:直接復(fù)制數(shù)據(jù)文件
	

備份需要:
    數(shù)據(jù)
    二進(jìn)制日志,事務(wù)日志
    配置文件
	
	
備份的設(shè)計(jì)方案:
    數(shù)據(jù):完全+增量、完全+部分
    備份手段:邏輯或物理


常用的備份工具:
    mysqldump:mysql自帶的備份工具,邏輯備份、完全備份、部分備份、溫備
    lvm2快照:幾乎熱備,需要借助cp,tar等工具完成,lvm2只負(fù)責(zé)生成快照
    xtrabackup:支持對(duì)InnoDB的熱備份(物理備份
    tar,cp:冷備份


    mysqldump工具使用:邏輯備份工具,在數(shù)據(jù)小于1G時(shí)可以使用,數(shù)據(jù)大于1G之后則不建議使用
	
	mysqldump [OPTIONS] database [tables]	#不會(huì)自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)
	mysqldump [OPTIONS] --databases DB1 [DB2 ...]	#備份指定數(shù)據(jù)庫(kù),會(huì)自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)
	mysqldump [OPTIONS] --all-databases 	#備份所有數(shù)據(jù)庫(kù),會(huì)自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)
	    常用選項(xiàng):
		-u			#用戶(hù)
		-p			#密碼
		--flush-logs 		#執(zhí)行二進(jìn)制日志文件滾動(dòng)
		--single-transaction	#對(duì)InnoDB存儲(chǔ)引擎進(jìn)行熱備份(只有InnoDB支持)
		--master-data=2	   #在數(shù)據(jù)文件中,記錄備份那一刻二進(jìn)制日志文件的位置,
				    并注釋主要用于參考,多用于進(jìn)行基于時(shí)間點(diǎn)還原
	        --lock-all-tables    #在執(zhí)行備份時(shí)鎖定所有庫(kù)的所有表(二選一,必須)
		--lock-tables	    #對(duì)單個(gè)數(shù)據(jù)庫(kù)在備份時(shí)鎖定所有表(二選一,必須)
        例:mysqldump -uroot -p123.com --databases --lock-tables --flush-logs 
            --master-data=2 test > /tmp/mysql.back.`date "+%F__%R"`

	
	
    LVM2快照實(shí)現(xiàn)數(shù)據(jù)幾乎熱備
        實(shí)現(xiàn)條件:mysql數(shù)據(jù)存儲(chǔ)在LVM邏輯卷中,需要有足夠的空間做快照
	備份策略:    
	    1、創(chuàng)建全局鎖
	        mysql> FLUSH TABLES WITH READ LOCK;
	    2、記錄二進(jìn)制日志文件及事件位置
	        mysql -uroot -p123.com -e 'FLUSH LOGS;'		#進(jìn)行日志滾動(dòng)
	        mysql -uroot -p123.com -e 'SHOW MASTER STATUS;'>/tmp/test.`date +%F`
	        	  #記錄二進(jìn)制日志位置
	    3、創(chuàng)建LVM快照
	        lvcreate -L 1GB -s -n test_snap /dev/vg_test/lv_test
	                -L 1G 		#快照大小,一般和數(shù)據(jù)文件差不多
	                -s    		#表示創(chuàng)建快照 
		        -n test_snap 	#快照名
			/dev/vg_test/lv_test 	#要?jiǎng)?chuàng)建快照的邏輯卷
	    4、釋放全局鎖
	        mysql> UNLOCK TABLES;
		    
	    5、掛載快照卷
	        mount /dev/vg_test/test_snap /mnt
		    
	    6、備份數(shù)據(jù)并刪除快照卷
	        cp -a /mnt/date/mysql /tmp		#復(fù)制數(shù)據(jù)文件
	        umount /mnt				#卸載快照卷
	        lvremove /dev/vg_test/test_snap 	#刪除快照
		    
	    7、制定好備份計(jì)劃,每隔一段時(shí)間對(duì)二進(jìn)制文件進(jìn)行備份
	        每隔一段時(shí)間對(duì)mysql的二進(jìn)制文件進(jìn)行備份,以實(shí)現(xiàn)將來(lái)的基于時(shí)間點(diǎn)還原數(shù)據(jù)
	            例:cp -p /data/mysql-bin.000007 /tmp/mysql_7.sql	#備份二進(jìn)制日志
				
	8、還原
            還原時(shí)只需要將數(shù)據(jù)文件復(fù)制到mysql的數(shù)據(jù)目錄中,在使用二進(jìn)制日志對(duì)數(shù)據(jù)進(jìn)行時(shí)間點(diǎn)還原
		例:cp -a /tmp/mysql /data/mysql		#還原數(shù)據(jù)
		    mysql> source /tmp/mysql_7.sql;		#進(jìn)行基于時(shí)間點(diǎn)的還原


	xtrabackup實(shí)現(xiàn)mysql熱備:
	    注意:xtrabackup只能對(duì)InnoDB實(shí)現(xiàn)熱備和增量備份
	    https://www.percona.com/downloads/XtraBackup/LATEST/	#下載地址
	    安裝:
		1、配置好epel源
		2、yum -y localinstall percona-xtrabackup-2.3.2-1.el6.x86_64.rpm    #安裝

		
	    備份工具:
		xtrabackup包含兩個(gè)主要的工具,即xtrabackup和innobackupex
		innobackupex:是xtrabackup重封裝的Perl腳本,能對(duì)innodb和myisam備份,
		                對(duì)myisam不能實(shí)現(xiàn)熱備和增量備份
		xtrabackup:xtrabackup只能備份innodb和xtradb兩種引擎的表,
		                而不能備份myisam引擎的表
			
			
		innobackupex基本使用
		    常用參數(shù):
		        --help					#查看幫助信息
			--backup				#進(jìn)行備份操作,可省,默認(rèn)為執(zhí)行備份操作
			--apply-log				#恢復(fù)前必須的整理工作
			--defaults-file			#指定配置文件路徑,可省,會(huì)自動(dòng)到數(shù)據(jù)庫(kù)中讀取
			--redo-only 			#在做整理操作時(shí),未提交的數(shù)據(jù)不進(jìn)行回滾,做增量備份恢復(fù)時(shí)必須加的選項(xiàng)
			--copy-back				#執(zhí)行還原操作
			--incremental			#執(zhí)行增量備份
			--user=name				#指定用戶(hù)名,默認(rèn)為root
			--host=name				#指定主機(jī)名,默認(rèn)為host
			--port=					#指定端口,默認(rèn)為3306
			--password=name			#指定密碼,默認(rèn)為空
			--databases='db1 bd2' 	#備份指定的數(shù)據(jù)庫(kù),
			--defaults-file=		#指定配置文件,可省
			--no-timestamp=			#自定義備份目錄名
			incremental-basedir=	#基于那一次備份做增量備份
				
		
		
		
    使用實(shí)例:
	innodb_file_per_table=1	    #在mysql配置文件中添加,表示每個(gè)表使用單獨(dú)的表空間文件
	datadir=/usr/local/mysql/data	#在mysql配置文件中添加,表示指定數(shù)據(jù)文件位置	
	mkdir /backups			#創(chuàng)建備份文件存放目錄
			
    全庫(kù)完全備份:
	innobackupex --user=root --password=123.com /backups/
		/backups/			#備份文件存放目錄
		注意:結(jié)尾出現(xiàn)completed OK!則為成功,否則則為錯(cuò)誤
		
		
		
    還原一個(gè)完全備份:
	innobackupex --apply-log /backups/2017-02-20_04-40-44/	#對(duì)備份文件進(jìn)行整理
	innobackupex --copy-back /backups/2017-02-20_04-40-44/	#還原數(shù)據(jù)
	chown mysql:mysql /usr/local/mysql/*			#修改權(quán)限
				
		
		
    增量備份:
	innobackupex --user=root --password=123.com  --incremental /backups/ 
	            --incremental-basedir=/backups/2017-02-20_04-40-44/	    
            	/backups/		#增量備份存儲(chǔ)位置
		--incremental-basedir	#指定基于哪一個(gè)備份文件進(jìn)行增量備份,通常都是上一個(gè)增量備份
		
		
    增量備份還原:
        innobackupex --apply-log  --redo-only /backups/2017-02-20_05-01-49/	#整理完全備份
        innobackupex --apply-log  --redo-only /backups/2017-02-20_05-01-49
               --incremental-dir=/backups/2017-02-20_05-04-34	#整理第一個(gè)增量備份
        innobackupex --copy-back /backups/2017-02-20_05-01-49/	#還原數(shù)據(jù)
				
		
    部分備份:    
        innobackupex --databases="testdb mysql" /backups/ --user=root --password=123.com
        #備份testdb和mysql數(shù)據(jù)庫(kù),不管備份那個(gè)數(shù)據(jù)庫(kù)都應(yīng)該備份mysql數(shù)據(jù)庫(kù)
				
    還原部分備份:
        innobackupex --apply-log /backups/2017-02-20_05-24-07/		#準(zhǔn)備
        innobackupex --copy-back /backups/2017-02-20_05-24-07/		#還原
        chown mysql:mysql /usr/local/mysql/*				#修改權(quán)限				
				

看完以上關(guān)于應(yīng)該怎么樣備份mysql,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業(yè)知識(shí)信息 ,可以持續(xù)關(guān)注我們的行業(yè)資訊欄目的。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

標(biāo)題名稱(chēng):應(yīng)該怎么樣備份mysql-創(chuàng)新互聯(lián)
標(biāo)題來(lái)源:http://bm7419.com/article14/heoge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開(kāi)發(fā)、微信小程序移動(dòng)網(wǎng)站建設(shè)、定制網(wǎng)站、搜索引擎優(yōu)化、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站