真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MySQL完全備份與恢復(fù)的示例分析

這篇文章將為大家詳細(xì)講解有關(guān)MySQL完全備份與恢復(fù)的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、婁底網(wǎng)絡(luò)推廣、小程序設(shè)計、婁底網(wǎng)絡(luò)營銷、婁底企業(yè)策劃、婁底品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供婁底建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com

MySQL完全備份與恢復(fù)的示例分析

免費學(xué)習(xí)推薦:mysql視頻教程

文章目錄

  • 前言

  • 一、MySQL 完全備份

    • 2.1 使用 tar 打包文件夾備份

    • 2.2 使用 mysqldump 工具備份

    • 1.1 數(shù)據(jù)庫備份的重要性

    • 1.2 數(shù)據(jù)庫備份的分類

    • 1.3 MySQL 完全備份概念解讀

    • 1.2.1 物理備份

    • 1.2.2 邏輯備份

    • 1.2.3 完全備份

    • 1.2.4 差異備份

    • 1.2.5 增量備份

    • 1.2.6 備份方式比較

    • 1.數(shù)據(jù)庫備份方式精講

    • 2.mysqldump 備份演練

  • 二、MySQL 完全恢復(fù)

    • 2.1 使用 source 命令恢復(fù)表

    • 2.2 使用 mysql 命令恢復(fù)表

    • 1.1 source 命令整庫恢復(fù)

    • 1.2 MySQL 命令整庫恢復(fù)

    • 1.恢復(fù)整庫操作

    • 2.恢復(fù)表操作

    • 3.MySQL 備份思路


前言

  • 隨著辦公自動化和電子商務(wù)的飛速發(fā)展,企業(yè)對信息系統(tǒng)的依賴性越來越高,數(shù)據(jù)庫作為信息系統(tǒng)的核心,擔(dān)當(dāng)者重要的角色

  • 數(shù)據(jù)庫備份,是在數(shù)據(jù)丟失的情況下,能及時恢復(fù)重要數(shù)據(jù),防止數(shù)據(jù)丟失的一種重要手段

  • 一個合理的數(shù)據(jù)庫備份方案,能夠在數(shù)據(jù)丟失時,有有效地恢復(fù)數(shù)據(jù),而且也需要考慮技術(shù)實現(xiàn)難度和有效地利用資源


一、MySQL 完全備份

1.數(shù)據(jù)庫備份方式精講

1.1 數(shù)據(jù)庫備份的重要性

生產(chǎn)環(huán)境中,數(shù)據(jù)的安全性是至關(guān)重要的,任何數(shù)據(jù)的丟失都可能產(chǎn)生嚴(yán)重的后果

數(shù)據(jù)庫備份的重要性主要體現(xiàn)在:

  1. 提高系統(tǒng)的高可用性和災(zāi)難可恢復(fù)性,在數(shù)據(jù)庫系統(tǒng)崩潰時,沒有數(shù)據(jù)庫備份就沒法找到數(shù)據(jù)

  2. 使用數(shù)據(jù)庫備份還原數(shù)據(jù)庫,是數(shù)據(jù)庫崩潰時提供數(shù)據(jù)恢復(fù)最小代價的最優(yōu)方案,如果讓用戶重新添加數(shù)據(jù),代價未免太大

  3. 沒有數(shù)據(jù)就沒有一切,數(shù)據(jù)庫備份是一種防范災(zāi)難的強力手段

使用數(shù)據(jù)庫的過程中,有多種原因造成數(shù)據(jù)的丟失:

  1. 程序錯誤:指對數(shù)據(jù)庫操作的程序難免有些錯誤,造成數(shù)據(jù)丟失

  2. 人為錯誤:指由于使用人員的誤操作造成的數(shù)據(jù)被破壞,還有可能是黑客對系統(tǒng)攻擊造成的數(shù)據(jù)丟失等

  3. 計算機失敗:指運行數(shù)據(jù)庫的服務(wù)器操作系統(tǒng)或軟件損壞,有可能造成數(shù)據(jù)的損壞

  4. 磁盤失?。褐赣脖P等存儲數(shù)據(jù)的硬件設(shè)備,長時間運行后可能損壞,造成數(shù)
    據(jù)丟失

  5. 災(zāi)難(如火災(zāi)、地震)和偷竊:指自然災(zāi)害等的發(fā)生,有可能造成數(shù)據(jù)丟失

  • 數(shù)據(jù)丟失會造成嚴(yán)重的經(jīng)濟損失,如攜程網(wǎng)2015年5月28日數(shù)據(jù)庫崩潰,每小時損失大概106萬美元

  • 所以在企業(yè)信息系統(tǒng)建設(shè)中,數(shù)據(jù)庫的備份管理是非常重要的內(nèi)容

1.2 數(shù)據(jù)庫備份的分類

備份方式分很多種,從物理與邏輯的角度,備份可分為以下幾類:

1.2.1 物理備份
  • 指對數(shù)據(jù)庫操作系統(tǒng)的物理文件(如數(shù)據(jù)文件、日志文件等)的備份

  • 物理備份又可以分為脫機備份(冷備份)和聯(lián)機備份(熱備份)

  • 冷備份(脫機備份):在關(guān)閉數(shù)據(jù)庫時進行的備份操作,能夠較好地保證數(shù)據(jù)庫的完整性

  • 熱備份(聯(lián)機備份):在數(shù)據(jù)庫運行狀態(tài)中進行操作,這種備份方法依賴于數(shù)據(jù)庫的日志文件

1.2.2 邏輯備份
  • 指對數(shù)據(jù)庫邏輯組件(如表等數(shù)據(jù)庫對象)的備份

從數(shù)據(jù)庫的備份策略角度來看,備份又可分為完全備份、差異備份和增量備份

1.2.3 完全備份
  • 每次對數(shù)據(jù)進行完整的備份

  • 可以備份整個數(shù)據(jù)庫,包含用戶表、系統(tǒng)表、索引、視圖和存儲過程等所有數(shù)據(jù)庫對象

  • 但它需要花費更多的時間和空間,所以,做一次完全備份的周期要長些

1.2.4 差異備份
  • 備份那些自從上次完全備份之后被修改過的文件,即只備份數(shù)據(jù)庫部分的內(nèi)容

  • 它比最初的完全備份小,因為只包含自上次完全備份以來所改變的數(shù)據(jù)庫

  • 它的優(yōu)點是存儲和恢復(fù)速度快

1.2.5 增量備份
  • 只有那些在上次完全備份或者增量備份后被修改的文件才會被備份

1.2.6 備份方式比較
備份方式完全備份差異備份增量備份
完全備份時的狀態(tài)表1、表2表1、表2表1、表2
第1次添加內(nèi)容創(chuàng)建表3創(chuàng)建表3創(chuàng)建表3
備份內(nèi)容表1、表2、表3表3表3
第2次添加內(nèi)容創(chuàng)建表4創(chuàng)建表4創(chuàng)建表4
備份內(nèi)容表1、表2、表3、表4表3、表4表4
  • 完全備份每次都是把整個數(shù)據(jù)庫中的內(nèi)容進行備份

  • 差異備份在第1次添加內(nèi)容后備份,即備份新添加的內(nèi)容;第2次添加內(nèi)容后備份,把第1次添加的內(nèi)容也進行了備份,它是根據(jù)完全備份時的狀態(tài)決定的

  • 差異備份每次都是把完全備份之后所有的修改進行備份,而不管之前是否做過差異備份

  • 增量備份只備份每次新修改的內(nèi)容,第1次創(chuàng)建表3,就對表3備份,第2次添加表4后,因為之前已經(jīng)備份過表3,所以只備份表4的內(nèi)容

1.3 MySQL 完全備份概念解讀

  • MySQL 的備份方式主要有完全備份與增量備份

  • 完全備份是對整個數(shù)據(jù)庫的備份、數(shù)據(jù)庫結(jié)構(gòu)和文件結(jié)構(gòu)的備份,保存的是備份完成時刻的數(shù)據(jù)庫,是增量備份的基礎(chǔ)

  • 完全備份的優(yōu)點是備份與恢復(fù)操作簡單方便,缺點是數(shù)據(jù)存在大量重復(fù),占用大量的備份空間,備份的時間長

  • 在生產(chǎn)環(huán)境中,這兩種備份方式都會使用,需要制定合理高效的方案達(dá)到備份數(shù)據(jù)的目的,避免數(shù)據(jù)丟失造成嚴(yán)重的后果

2.mysqldump 備份演練

  • MySQL 數(shù)據(jù)庫的備份可以采用兩種方式

  • 因為數(shù)據(jù)庫實際上就是文件,直接打包數(shù)據(jù)庫文件夾,或者是使用專用備份工具 mysqldump 都可以進行備份工作

2.1 使用 tar 打包文件夾備份

  • MySQL 的數(shù)據(jù)庫文件默認(rèn)都是保存在安全目錄的 data 文件夾下,可以直接保存 data 文件夾,因為占用空間較大,可以使用data 打包壓縮進行保存
    MySQL完全備份與恢復(fù)的示例分析

yum -y install xz#數(shù)據(jù)庫文件很大,可以使用壓縮率較大的xz格式壓縮,首選需要安裝xz壓縮格式工具tar Jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data/#對數(shù)據(jù)庫文件夾進行打包操作ls /opt#查看打包命令是否運行成功,已經(jīng)生成了備份文件du -sh /opt/mysql-2021-02-05.tar.xz #對比打包前后的文件大小,可以看到壓縮的備份文件所占用空間很小tar -Jxvf /opt/mysql-2021-02-05.tar.xz -C /usr/local/mysql/data/systemctl restart mysql#如果數(shù)據(jù)庫文件損壞數(shù)據(jù)丟失,可以解壓縮文件,相當(dāng)于數(shù)據(jù)恢復(fù)

MySQL完全備份與恢復(fù)的示例分析

2.2 使用 mysqldump 工具備份

  • 上文中演示的是對 MySQL 整個數(shù)據(jù)庫的目錄進行壓縮的方式,是備份數(shù)據(jù)庫中所有的內(nèi)容

  • mysqldump 是 mysql 用于轉(zhuǎn)存儲數(shù)據(jù)庫的實用程序(自帶),它主要產(chǎn)生一個 SQL 腳本,其中包含從頭重新創(chuàng)建數(shù)據(jù)庫所必需的命令(如 CREATE、TABLE、INSERT等)

  • 使用 mysqldump 可以更加靈活地控制備份的內(nèi)容,比如某幾個表或庫都可以單獨備份

#開始之前,創(chuàng)建庫和表,用作例子mysql -uroot -p123123#輸入密碼進入數(shù)據(jù)庫,以上為我的密碼create database SCHOOL;#創(chuàng)建庫use SCHOOL;create table CLASS01 ( id int(2) not null auto_increment, name varchar(10) not null, sex char(5) not null, hobby varchar(10), primary key (id));#創(chuàng)建表結(jié)構(gòu)#字段一:id,最大顯示長度2,不能為空,自動遞增從1開始#字段二:name,可變長度字段,10,不能為空#字段三:sex,固定長度5,不能為空#字段四:hobby,可變長度,最多10字符#字段四:主鍵(id)insert into CLASS01 values(1,'wangyi','man','reading');insert into CLASS01 values(2,'wanger','woman','singing');#插入2條數(shù)據(jù)select * from CLASS01;#檢查一下quit#退出數(shù)據(jù)庫

MySQL完全備份與恢復(fù)的示例分析

#使用 mysqldump 對某些表進行完全備份,命令格式如下:mysqldump -u[用戶名] -p[密碼] [選項] [數(shù)據(jù)庫名] [數(shù)據(jù)表名] > /備份路徑/備份文件名.sql#導(dǎo)出的為數(shù)據(jù)庫腳本文件例:對庫SCHOOL中的表class進行備份至/opt/目錄下mysqldump -uroot -p[密碼] SCHOOL CLASS01 > /opt/test01.sql

MySQL完全備份與恢復(fù)的示例分析

#對某些庫進行完全備份mysqldump -uroot -p[密碼] [數(shù)據(jù)庫名] > /目錄/備份文件名.sql例:mysqldump -uroot -p123123 SCHOOL > /opt/test02#對多個庫進行完全備份mysqldump -uroot -p123123 --databases SCHOOL sys > /opt/test03.sql#對所有庫進行完全備份mysqldump -uroot -p123123 --all-databases > /opt/test04.sql#直接備份表結(jié)構(gòu)mysqldump -uroot -p123123 -d SCHOOL CLASS01 > /opt/test05.sqlls /opt/#查看打包命令是否運行成功,已經(jīng)生成了備份文件

MySQL完全備份與恢復(fù)的示例分析
MySQL完全備份與恢復(fù)的示例分析

cat /opt/test05.sql#分析 mysqldump 工具生成的備份文件的內(nèi)容

MySQL完全備份與恢復(fù)的示例分析

  • 上面使用了 -d 選項,說明只保存數(shù)據(jù)庫的表結(jié)構(gòu),且表中只有一個庫,可以看到先刪除了表(同名),再創(chuàng)建了它

  • 刪除和創(chuàng)建都是最普通的 MySQL 命令,任何一條在 MySQL 中都是可以執(zhí)行的語句,有了這些語句就可以創(chuàng)建出和現(xiàn)在的表結(jié)構(gòu)相同的表

  • 如果不使用 -d 選項,會把數(shù)據(jù)也進行備份,下面看看數(shù)據(jù)時如何保存的

cat /opt/test01

MySQL完全備份與恢復(fù)的示例分析

  • 可以看到與使用 -d 參數(shù)的差別是最后出現(xiàn)了 insert into 語句,往數(shù)據(jù)庫中插入了兩條數(shù)據(jù),也就是說,數(shù)據(jù)的備份是保存的插入語句操作

  • 通過以上分析,很容易理解,備份的本質(zhì)就是保存數(shù)據(jù)庫當(dāng)前表結(jié)構(gòu)的創(chuàng)建語句和現(xiàn)有數(shù)據(jù)的插入語句,有了它們就可以直接恢復(fù)數(shù)據(jù)庫的狀態(tài)


二、MySQL 完全恢復(fù)

  • 前面介紹了數(shù)據(jù)庫的完全備份,使用 mysqldump 工具可以把數(shù)據(jù)的創(chuàng)建語句保存在備份的腳本文件中

  • 當(dāng)出現(xiàn)錯誤時,可以使用以下幾種方法恢復(fù)它們

1.恢復(fù)整庫操作

1.1 source 命令整庫恢復(fù)

mysql -uroot -p123123show databases;drop database SCHOOL;show databases;source /opt/test03.sql#之前備份過的,該備份為SCHOOL和sys兩個庫的完整備份#注意!選項得加“--databases”才是完整的備份,不然會恢復(fù)不了

MySQL完全備份與恢復(fù)的示例分析

1.2 MySQL 命令整庫恢復(fù)

quitmysql -uroot -p123123 -e 'drop database SCHOOL;'mysql -uroot -p123123 -e 'SHOW DATABASES;'mysql -uroot -p123123 < /opt/test03.sql

 mysql -uroot -p123123 -e 'SHOW DATABASES;'

MySQL完全備份與恢復(fù)的示例分析

2.恢復(fù)表操作

  • 恢復(fù)數(shù)據(jù)表同樣可以使用 source 命令和 mysql 命令操作

2.1 使用 source 命令恢復(fù)表

mysql -uroot -p123123use SCHOOL;show tables;drop table CLASS01;
 source /opt/test01.sql#恢復(fù)表show tables;select * from CLASS01;#查看

MySQL完全備份與恢復(fù)的示例分析
MySQL完全備份與恢復(fù)的示例分析

2.2 使用 mysql 命令恢復(fù)表

quitmysql -uroot -p123123 -e 'SHOW TABLES FROM SCHOOL;'mysql -uroot -p123123 -e 'DROP TABLES SCHOOL.CLASS01;'mysql -uroot -p123123 -e 'SHOW TABLES FROM SCHOOL;'mysql -uroot -p123123 SCHOOL < /opt/test01.sqlmysql -uroot -p123123 -e 'SHOW TABLES FROM SCHOOL;'

MySQL完全備份與恢復(fù)的示例分析

3.MySQL 備份思路

  • MySQL 需要定期實施備份,指定合適的備份計劃或策略,并嚴(yán)格遵守

  • 除了進行完全備份,開啟 MySQL 服務(wù)器的日志功能也很重要,完全備份加上日志,可以對 MySQL 進行最大化還原

  • 備份文件的名字還需鑰使用統(tǒng)一的易于理解的名稱,推薦使用庫名或表名加上時間的命名規(guī)則,在需要恢復(fù)數(shù)據(jù)庫時能很容易的定位到相應(yīng)的所需備份文件

關(guān)于“MySQL完全備份與恢復(fù)的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


網(wǎng)頁標(biāo)題:MySQL完全備份與恢復(fù)的示例分析
文章來源:http://weahome.cn/article/geshgh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部