mysql資料庫備份,恢復

2021-08-23 12:35:33 字數 1548 閱讀 1424

生產的資料庫可能因為以下情況導致資料丟失:

硬體故障

軟體故障

自然災害

黑客攻擊

誤操作(佔比例最大)

1.能夠容忍丟失多少資料

2.恢復資料需要多長時間

3.需要恢復哪一些資料

備份整個資料庫

增量備份:備份自從上次備份以來變化的資料。節約空間,還原麻煩

差異備份:備份上次完全備份以來變化的資料。浪費空間,還原比增量備份簡單。

mysql備份資料的方式

把資料庫的結構定義語句,資料內容的插入語句,全部儲存下來,然後在恢復的時候,在另乙個myql伺服器執行這些語句,就可以建立另乙個與之前一樣的資料庫。

典型辦法

1.mysqldump程式可以把對遠端/本地資料庫進行邏輯備份

2.select .... into  outfile可以把資料進行邏輯備份,但備份檔案只能儲存在mysql-server的機器上。

適用:適合資料量少的資料庫

特點1.邏輯備份通過查詢資料庫的資訊進行備份

2.速度比較慢,因為獲取了資訊,然後組裝sql語句,如果呼叫命令是遠端,還要把sql語句遠端傳輸。

3.備份檔案要比物理備份大

4.備份粒度只能到表

5.沒有日誌或者配置檔案

6.備份檔案是sql語句,邏輯語句,相對來說,可移植性要好(比如在linux備份了,可以在windows恢復)

// 備份單個資料庫或單個資料庫中指定的表

mysqldump [options] database [tb1] [tb2]...

// 備份多個資料庫

mysqldump [options] -- database [options] db1 [db2,db3...]

// 備份所有資料庫

mysqldump [options] --all-database [options]

// 指定匯出使用何種字符集

--default-character-set=charset

// 只匯出資料,而不新增create table語句

--no-create-info, -t

//只匯出資料庫表結構,不匯出任何資料

--no-data, -d

1.表結構備份和資料備份最好分開

2.在進行表結構備份的時候,記得加上--add-drop-database=false和--add-drop-table=false,以免在進行增量恢復時,覆蓋已存在的資料。如果需要全量恢復,可以先手工drop database或者drop table,再使用表結構備份指令碼恢復表結構

3.innodb引擎要想維護資料一致性,加上--single-transaction,這個引數不會阻塞讀寫鎖

4.備份blob資料,需要加上--hex-blob,否則恢復的時候可能報錯

5.如果想要進行增量資料恢復,那麼備份的時候最好加上--add-locks,否則在恢復過程中,表將無法進行讀寫。

6.備份完成之後,tail -n 1 backup_file,成功的備份會顯示資訊「-- dump completed on 時間」

資料庫 Mysql備份恢復

1 物理備份 2 邏輯備份 庫 表 資料庫的sql指令碼 1 在生產環境中,資料的安全性只管重要 2 任何資料的丟失都可能產生嚴重的後果 3 造成資料丟失的原因 物理冷備份 root localhost sysytemctl stop mysqld root localhost mkdir back...

Mysql資料庫備份與恢復

匯出要用到mysql的mysqldump工具,基本用法是 mysqldump options database tables 幫助 mysqldump help mysqldump支援下列選項 add locks 在每個表匯出之前增加lock tables並且之後unlock table。為了使得更...

mysql 資料庫備份與恢復

首先要用命令列進入mysql的安裝目錄下的bin c program files mysql mysql server 5.1 bin win32下mysql的備份與還原 1.1 備份 開始選單 執行 cmd 利用 cd program files mysql mysql server 5.0 bi...