本文主要給大家介紹應(yīng)該怎么樣備份mysql,文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下應(yīng)該怎么樣備份mysql吧。
創(chuàng)新互聯(lián)從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站制作、網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元紅山做網(wǎng)站,已為上家服務(wù),為紅山各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220備份的目的: 實現(xiàn)災(zāi)難恢復(fù):誤操作、硬件故障、軟件故障、自然災(zāi)害、****** 注意的要點: 1、能夠容忍丟失多少數(shù)據(jù) 2、恢復(fù)數(shù)據(jù)所用的時間 3、備份需要的時間 4、是否對業(yè)務(wù)有影響 5、備份時云服務(wù)器負載 備份類型 完全備份:備份整個數(shù)據(jù)庫的數(shù)據(jù) 部分備份:備份指定的一部分?jǐn)?shù)據(jù) 增量備份:備份上一次備份后增加的數(shù)據(jù) 差異備份:備份從最后一次完全備份后起發(fā)生改變的數(shù)據(jù) 熱備份:讀寫操作均可以進行 溫備份:只讀 冷備份:不可寫,不可讀 邏輯備份:從數(shù)據(jù)庫中導(dǎo)出數(shù)據(jù),與存儲引擎無關(guān) 物理備份:直接復(fù)制數(shù)據(jù)文件 備份需要: 數(shù)據(jù) 二進制日志,事務(wù)日志 配置文件 備份的設(shè)計方案: 數(shù)據(jù):完全+增量、完全+部分 備份手段:邏輯或物理 常用的備份工具: mysqldump:mysql自帶的備份工具,邏輯備份、完全備份、部分備份、溫備 lvm2快照:幾乎熱備,需要借助cp,tar等工具完成,lvm2只負責(zé)生成快照 xtrabackup:支持對InnoDB的熱備份(物理備份 tar,cp:冷備份 mysqldump工具使用:邏輯備份工具,在數(shù)據(jù)小于1G時可以使用,數(shù)據(jù)大于1G之后則不建議使用 mysqldump [OPTIONS] database [tables] #不會自動創(chuàng)建數(shù)據(jù)庫 mysqldump [OPTIONS] --databases DB1 [DB2 ...] #備份指定數(shù)據(jù)庫,會自動創(chuàng)建數(shù)據(jù)庫 mysqldump [OPTIONS] --all-databases #備份所有數(shù)據(jù)庫,會自動創(chuàng)建數(shù)據(jù)庫 常用選項: -u #用戶 -p #密碼 --flush-logs #執(zhí)行二進制日志文件滾動 --single-transaction #對InnoDB存儲引擎進行熱備份(只有InnoDB支持) --master-data=2 #在數(shù)據(jù)文件中,記錄備份那一刻二進制日志文件的位置, 并注釋主要用于參考,多用于進行基于時間點還原 --lock-all-tables #在執(zhí)行備份時鎖定所有庫的所有表(二選一,必須) --lock-tables #對單個數(shù)據(jù)庫在備份時鎖定所有表(二選一,必須) 例:mysqldump -uroot -p123.com --databases --lock-tables --flush-logs --master-data=2 test > /tmp/mysql.back.`date "+%F__%R"` LVM2快照實現(xiàn)數(shù)據(jù)幾乎熱備 實現(xiàn)條件:mysql數(shù)據(jù)存儲在LVM邏輯卷中,需要有足夠的空間做快照 備份策略: 1、創(chuàng)建全局鎖 mysql> FLUSH TABLES WITH READ LOCK; 2、記錄二進制日志文件及事件位置 mysql -uroot -p123.com -e 'FLUSH LOGS;' #進行日志滾動 mysql -uroot -p123.com -e 'SHOW MASTER STATUS;'>/tmp/test.`date +%F` #記錄二進制日志位置 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 #要創(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、制定好備份計劃,每隔一段時間對二進制文件進行備份 每隔一段時間對mysql的二進制文件進行備份,以實現(xiàn)將來的基于時間點還原數(shù)據(jù) 例:cp -p /data/mysql-bin.000007 /tmp/mysql_7.sql #備份二進制日志 8、還原 還原時只需要將數(shù)據(jù)文件復(fù)制到mysql的數(shù)據(jù)目錄中,在使用二進制日志對數(shù)據(jù)進行時間點還原 例:cp -a /tmp/mysql /data/mysql #還原數(shù)據(jù) mysql> source /tmp/mysql_7.sql; #進行基于時間點的還原 xtrabackup實現(xiàn)mysql熱備: 注意:xtrabackup只能對InnoDB實現(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包含兩個主要的工具,即xtrabackup和innobackupex innobackupex:是xtrabackup重封裝的Perl腳本,能對innodb和myisam備份, 對myisam不能實現(xiàn)熱備和增量備份 xtrabackup:xtrabackup只能備份innodb和xtradb兩種引擎的表, 而不能備份myisam引擎的表 innobackupex基本使用 常用參數(shù): --help #查看幫助信息 --backup #進行備份操作,可省,默認(rèn)為執(zhí)行備份操作 --apply-log #恢復(fù)前必須的整理工作 --defaults-file #指定配置文件路徑,可省,會自動到數(shù)據(jù)庫中讀取 --redo-only #在做整理操作時,未提交的數(shù)據(jù)不進行回滾,做增量備份恢復(fù)時必須加的選項 --copy-back #執(zhí)行還原操作 --incremental #執(zhí)行增量備份 --user=name #指定用戶名,默認(rèn)為root --host=name #指定主機名,默認(rèn)為host --port= #指定端口,默認(rèn)為3306 --password=name #指定密碼,默認(rèn)為空 --databases='db1 bd2' #備份指定的數(shù)據(jù)庫, --defaults-file= #指定配置文件,可省 --no-timestamp= #自定義備份目錄名 incremental-basedir= #基于那一次備份做增量備份 使用實例: innodb_file_per_table=1 #在mysql配置文件中添加,表示每個表使用單獨的表空間文件 datadir=/usr/local/mysql/data #在mysql配置文件中添加,表示指定數(shù)據(jù)文件位置 mkdir /backups #創(chuàng)建備份文件存放目錄 全庫完全備份: innobackupex --user=root --password=123.com /backups/ /backups/ #備份文件存放目錄 注意:結(jié)尾出現(xiàn)completed OK!則為成功,否則則為錯誤 還原一個完全備份: innobackupex --apply-log /backups/2017-02-20_04-40-44/ #對備份文件進行整理 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/ #增量備份存儲位置 --incremental-basedir #指定基于哪一個備份文件進行增量備份,通常都是上一個增量備份 增量備份還原: 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 #整理第一個增量備份 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ù)庫,不管備份那個數(shù)據(jù)庫都應(yīng)該備份mysql數(shù)據(jù)庫 還原部分備份: 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è)知識信息 ,可以持續(xù)關(guān)注我們的行業(yè)資訊欄目的。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。