目錄
一、MySQL備份
備份方式
完全備份
差異備份
增量備份
二、常見(jiàn)的備份方法
物理冷備
專(zhuān)用備份工具 mysqldump 或 mysqlhotcopy
啟用二進(jìn)制日志進(jìn)行增量備份
第三方工具備份
三、MySQL完全備份
四、數(shù)據(jù)庫(kù)完全備份分類(lèi)
物理冷備份與恢復(fù)
mysqldump備份與恢復(fù)
五、物理冷備份與恢復(fù)
查看一下目前的數(shù)據(jù)庫(kù)
首先關(guān)閉數(shù)據(jù)庫(kù)服務(wù)
安裝相關(guān)壓縮工具的服務(wù)
解壓數(shù)據(jù)文件進(jìn)行備份
將數(shù)據(jù)移除到別的文件下
接下來(lái)我們進(jìn)行解壓恢復(fù)數(shù)據(jù)
切換到目錄下查看文件是否還原
啟動(dòng)服務(wù)看是否能正常啟動(dòng)
查看數(shù)據(jù)是否存在
六、mysqldump備份與恢復(fù)(溫備份)
進(jìn)行完全備份指定完整的庫(kù)
進(jìn)行完全備份所有MySQL服務(wù)器中的數(shù)據(jù)庫(kù)
完全備份指定庫(kù)中的部分表
如何查看備份文件
進(jìn)行數(shù)據(jù)恢復(fù)
使用source恢復(fù)數(shù)據(jù)庫(kù)
模擬數(shù)據(jù)庫(kù)出現(xiàn)故障
恢復(fù)數(shù)據(jù)庫(kù)
查看數(shù)據(jù)是否恢復(fù)
使用mysql語(yǔ)句恢復(fù)數(shù)據(jù)庫(kù)
進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)
登錄數(shù)據(jù)庫(kù)查看是否恢復(fù)
七、增量備份
首先開(kāi)啟二進(jìn)制日志功能
重啟數(shù)據(jù)庫(kù)MySQL服務(wù)
備份一個(gè)二進(jìn)制日志文件
查看二進(jìn)制日志文件內(nèi)容
刷新生成新的二進(jìn)制日志文件
進(jìn)入數(shù)據(jù)庫(kù)創(chuàng)建新的數(shù)據(jù)
創(chuàng)建新數(shù)據(jù)增加二進(jìn)制日志文件內(nèi)容
查看新的二進(jìn)制日志文件
一、MySQL備份
備份的主要目的是災(zāi)難恢復(fù),備份還可以測(cè)試應(yīng)用,回滾數(shù)據(jù)修改,查詢歷史數(shù)據(jù)。、審計(jì)等,而恢復(fù)備份中,日志起到了很重要的作用
MySQL日志默認(rèn)保存位置為/etc/local/mysql/data目錄下的日志文件
數(shù)據(jù)備份可分為物理備份和邏輯備份,物理備份是對(duì)數(shù)據(jù)庫(kù)操作系統(tǒng)的物理文件(如數(shù)據(jù)文件和日志文件等)的備份,這種類(lèi)型的備份適用于在出現(xiàn)問(wèn)題的時(shí)候需要快速回復(fù)大型的重要數(shù)據(jù)庫(kù)
冷備份(脫機(jī)備份):是在關(guān)閉數(shù)據(jù)庫(kù)的時(shí)候進(jìn)行的(tar)
熱備份(聯(lián)機(jī)備份):數(shù)據(jù)庫(kù)處于運(yùn)行狀態(tài),依賴于數(shù)據(jù)庫(kù)的日志文件(MySQLbackup)
溫備份:數(shù)據(jù)庫(kù)鎖定表哥(不可寫(xiě)入但可讀)的狀態(tài)下進(jìn)行備份操作(MySQLdump)
備份方式
備份方式有三種,分為完全備份,差異備份,增量備份
完全備份
每次對(duì)數(shù)據(jù)進(jìn)行完整備份,即對(duì)整個(gè)數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)結(jié)構(gòu)和文件結(jié)構(gòu)的備份,保存的是備份完成時(shí)刻的數(shù)據(jù)庫(kù),是差異備份與增量備份的基礎(chǔ)完全備份的備份與恢復(fù)操作都非常簡(jiǎn)單方便,但是數(shù)據(jù)存在大量的重復(fù)并且會(huì)占用大量的磁盤(pán)空間,備份的時(shí)間也很長(zhǎng)
每次都進(jìn)行完全備份,會(huì)導(dǎo)致備份文件占用空間巨大,并且有大量的重復(fù)數(shù)據(jù),恢復(fù)時(shí),直接使用完全備份的文件即可
差異備份
備份那些自從上次完全備份之后被修改過(guò)的所有文件,備份的時(shí)間節(jié)點(diǎn)是從上次完整備份起,備份數(shù)據(jù)量會(huì)越來(lái)越大。恢復(fù)數(shù)據(jù)時(shí)只需要恢復(fù)上次的完全備份與最佳的一次差異備份
每次差異備份,都會(huì)備份上一次完全備份之后的數(shù)據(jù),可能會(huì)出現(xiàn)重復(fù)數(shù)據(jù)?;謴?fù)時(shí),先恢復(fù)完全備份的數(shù)據(jù),再恢復(fù)差異備份的數(shù)據(jù)
增量備份
只有那些在上次完全備份或者增量備份后被修改的文件才會(huì)被備份以上次完整備份或上次增量備份的時(shí)間為時(shí)間點(diǎn),僅備份期間內(nèi)的數(shù)據(jù)變化,因而備份的數(shù)據(jù)量小,占用空間小,備份速度快。但恢復(fù)時(shí),需要從上一次的完整備份開(kāi)始到最后一次增量備份之間的所有增量依次恢復(fù),如中間某次的備份數(shù)據(jù)損壞,將導(dǎo)致數(shù)據(jù)的丟失 每次增量備份都是在備份在上一次完成全備份
每次增量備份都是備份在上一次完全備份或者增量備份之后的數(shù)據(jù),不會(huì)出現(xiàn)重復(fù)數(shù)據(jù)的情況,也不會(huì)占用額外的磁盤(pán)空間 恢復(fù)數(shù)據(jù),需要按照次序恢復(fù)完全備份和增量備份的數(shù)據(jù)
二、常見(jiàn)的備份方法
物理冷備
備份時(shí)數(shù)據(jù)庫(kù)處于關(guān)閉狀態(tài),直接打包數(shù)據(jù)庫(kù)文件(tar) 備份速度快,恢復(fù)時(shí)也是最簡(jiǎn)單的
專(zhuān)用備份工具 mysqldump 或 mysqlhotcopy
mysqldump 常用的邏輯備份工具 mysqlhotcopy 僅擁有備份 MyISAM 和 ARCHIVE 表
啟用二進(jìn)制日志進(jìn)行增量備份
進(jìn)行增量備份,需要刷新二進(jìn)制日志
MySQL支持增量備份,進(jìn)行增量備份時(shí)必須啟用二進(jìn)制日志。二進(jìn)制日志文件為用戶提供復(fù)制,對(duì)執(zhí)行備份點(diǎn)后進(jìn)行的數(shù)據(jù)庫(kù)更改所需的信息進(jìn)行恢復(fù)。如果進(jìn)行增量備份(包含自上次完全備份或增量備份以來(lái)發(fā)生的數(shù)據(jù)修改),需要刷新二進(jìn)制日志。
第三方工具備份
免費(fèi)的MySQL 熱備份軟件 Percona XtraBackup mysqlbackup
三、MySQL完全備份
-
是對(duì)整個(gè)數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)結(jié)構(gòu)和文件結(jié)構(gòu)的備份
-
保存的是備份完成時(shí)刻的數(shù)據(jù)庫(kù)
-
是差異備份與增量備份的基礎(chǔ)
-
MySQL完全備份優(yōu)缺點(diǎn)
1、優(yōu)點(diǎn): 備份與恢復(fù)操作簡(jiǎn)單方便
2、缺點(diǎn): ? 數(shù)據(jù)存在大量的重復(fù) ?,占用大量的備份空間,備份與恢復(fù)時(shí)間長(zhǎng)
四、數(shù)據(jù)庫(kù)完全備份分類(lèi)
物理冷備份與恢復(fù)
關(guān)閉MySQL數(shù)據(jù)庫(kù) 使用tar命令直接打包數(shù)據(jù)庫(kù)文件夾 直接替換現(xiàn)有MySQL目錄即可
mysqldump備份與恢復(fù)
MySQL自帶的備份工具,可方便實(shí)現(xiàn)對(duì)MySQL的備份 可以將指定的庫(kù)、表導(dǎo)出為SQL 腳本 使用命令mysq|導(dǎo)入備份的數(shù)據(jù)
五、物理冷備份與恢復(fù)
查看一下目前的數(shù)據(jù)庫(kù)
命令:show databases;
show tables;
首先關(guān)閉數(shù)據(jù)庫(kù)服務(wù)
再進(jìn)行冷備份
命令:systemctl stop firewalld
安裝相關(guān)壓縮工具的服務(wù)
命令:yum -y install xz
解壓數(shù)據(jù)文件進(jìn)行備份
命令:tar Jcvf /opt/mysql_all_$(date +%F).tar.xz /usr/local/mysql/data
將數(shù)據(jù)移除到別的文件下
命令:mv /usr/local/mysql/data /opt
接下來(lái)我們進(jìn)行解壓恢復(fù)數(shù)據(jù)
命令:mkdir /usr/local/mysql/data
tar Jxvf /opt/mysql_all_2023-07-18.tar.xz -C /usr/local/mysql/data
切換到目錄下查看文件是否還原
命令:cd /usr/local/mysql/data
啟動(dòng)服務(wù)看是否能正常啟動(dòng)
命令:systemctl start mysqld.service
查看數(shù)據(jù)是否存在
命令:show databases;
show tables;?
六、mysqldump備份與恢復(fù)(溫備份)
進(jìn)行完全備份指定完整的庫(kù)
命令:mysqldump -u root -p[密碼] --databases [庫(kù)名] > [備份路徑文件名].sql
進(jìn)行完全備份所有MySQL服務(wù)器中的數(shù)據(jù)庫(kù)
命令:mysqldump -u root -p[密碼] --all-databases > [備份路徑文件名].sql
完全備份指定庫(kù)中的部分表
命令:mysqldump -u root -p[密碼] 庫(kù)名 [表名1] [表名2] ... > [備份路徑文件名].sql
如何查看備份文件
命令:grep -v "^--" /opt/[文件名].sql | grep -v "^/" | grep -v "^$"
進(jìn)行數(shù)據(jù)恢復(fù)
使用mysqldump導(dǎo)出的文件,可使用導(dǎo)入的方法
① source命令
② mysql命令
使用source恢復(fù)數(shù)據(jù)庫(kù)
先登錄到數(shù)據(jù)庫(kù)
命令:mysql -u [用戶名] -p [密碼]
模擬數(shù)據(jù)庫(kù)出現(xiàn)故障
命令:drop database [數(shù)據(jù)庫(kù)名];
恢復(fù)數(shù)據(jù)庫(kù)
命令:source [備份文件全路徑].sql;
查看數(shù)據(jù)是否恢復(fù)
命令:show databases;
show tables;
使用mysql語(yǔ)句恢復(fù)數(shù)據(jù)庫(kù)
再次模擬數(shù)據(jù)庫(kù)故障丟失數(shù)據(jù)
命令:drop database [數(shù)據(jù)庫(kù)名];
進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)
退出數(shù)據(jù)庫(kù),在命令行中操作恢復(fù)
命令:mysql -u[用戶名] -p[密碼] < [備份文件全路徑].sql
登錄數(shù)據(jù)庫(kù)查看是否恢復(fù)
命令:mysql -u[用戶名] -p[密碼]
show databases;
show tables;
七、增量備份
首先開(kāi)啟二進(jìn)制日志功能
增量備份要基于完全備份做備份,所以在做增量備份之前,先將目前的數(shù)據(jù)庫(kù)內(nèi)數(shù)據(jù)進(jìn)行一次全量備份,保證備份開(kāi)始時(shí)的數(shù)據(jù)完整性
命令:vim /etc/my.cnf
重啟數(shù)據(jù)庫(kù)MySQL服務(wù)
命令:systemctl restart mysqld
備份一個(gè)二進(jìn)制日志文件
命令:cp /usr/local/mysql/data/mysql-bin.000001?/opt
查看二進(jìn)制日志文件內(nèi)容
命令:mysqlbinlog --no-defaults --base64-output=decode-rows -v /opt/mysql-bin.000001
二進(jìn)制日志中需要關(guān)注的部分
1、at :開(kāi)始的位置點(diǎn)
2、end_log_pos:結(jié)束的位置
3、時(shí)間戳: 210712 11:50:30
4、SQL語(yǔ)句
刷新生成新的二進(jìn)制日志文件
命令:mysqladmin -uroot -p flush-logs
進(jìn)入數(shù)據(jù)庫(kù)創(chuàng)建新的數(shù)據(jù)
命令:mysql -u[用戶名] -p[密碼]
創(chuàng)建新數(shù)據(jù)增加二進(jìn)制日志文件內(nèi)容
命令:create database lll;
查看新的二進(jìn)制日志文件
命令:mysqlbinlog --no-defaults --base64-output=decode-rows -v /usr/local/mysql/data/mysql-bin.000002
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-579830.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-579830.html
到了這里,關(guān)于如何備份與恢復(fù)MySQL數(shù)據(jù)庫(kù)數(shù)據(jù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!