主頁(yè) > 知識(shí)庫(kù) > 淺談MySQL數(shù)據(jù)庫(kù)的備份與恢復(fù)

淺談MySQL數(shù)據(jù)庫(kù)的備份與恢復(fù)

熱門(mén)標(biāo)簽:鐵路電話系統(tǒng) 呼叫中心市場(chǎng)需求 AI電銷(xiāo) 網(wǎng)站排名優(yōu)化 百度競(jìng)價(jià)排名 服務(wù)外包 地方門(mén)戶網(wǎng)站 Linux服務(wù)器

一、MySQL 常見(jiàn)的備份方式

1. 直接拷貝數(shù)據(jù)庫(kù)文件(物理拷貝)

2. 使用 mysqldump 工具備份

3. 使用 mysqlhotcopy 工具備份

4. 使用 mysql 的主從同步復(fù)制,實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)同步備份

二、MySQL 物理數(shù)據(jù)文件結(jié)構(gòu)介紹

1. 日志文件

錯(cuò)誤日志 err log
二進(jìn)制日志 binary log
更新日志 update log
查詢(xún)?nèi)罩?query log
慢查詢(xún)?nèi)罩?slow query log
innodb 的 redo 日志

2. 數(shù)據(jù)文件

>>>對(duì)于 myisam 來(lái)說(shuō):

表結(jié)構(gòu)信息:.frm
數(shù)據(jù)信息:.myd
數(shù)據(jù)索引信息;.myi
>>>對(duì)于 Innodb 來(lái)說(shuō):

獨(dú)享表空間:.ibd
共享表空間:.ibdata

3. 系統(tǒng)文件

配置文件:my.cnf
進(jìn)程文件:xxx.pid
socket文件:xxx.sock

4. replication 文件

master.info:存儲(chǔ)在 slave 端目錄下,關(guān)于 master 和 slave 相關(guān)信息
relay log:存儲(chǔ) I/O 進(jìn)程從 master 讀取的 bin-log 信息,然后由 slave 端的 SQL 線程從該 binary log 中讀取解析過(guò)的日志信息,轉(zhuǎn)化成 slave 所能執(zhí)行的 query 語(yǔ)句
index:則是存放 binary log 的路徑,也就是目錄文件

三、使用 mysqldump 備份與恢復(fù)

1. 備份原理

mysqldump 備份原理比較簡(jiǎn)單,先查出需要備份的表結(jié)構(gòu),在文本文件中生成一個(gè) create 語(yǔ)句;然后將表中的所有數(shù)據(jù)記錄轉(zhuǎn)換成一條 insert 語(yǔ)句;通過(guò)這些語(yǔ)句就能夠創(chuàng)建表并插入數(shù)據(jù)。

2. 備份一個(gè)數(shù)據(jù)庫(kù)

基本語(yǔ)法:

>>> mysqldump -u username -p dbname table1 table2 ... > BackupName.sql

實(shí)例說(shuō)明:

mysqldump -u root -p test person > /tmp/backup.sql

3. 備份多個(gè)數(shù)據(jù)庫(kù)

基本語(yǔ)法:

mysqldump -u username -p --databases dbname2 dbname2 > BackupName.sql

實(shí)例說(shuō)明:

mysqldump -u root -p --databases test mysql > /tmp/backup.sql

4. 備份所有數(shù)據(jù)庫(kù)

基本語(yǔ)法:

mysqldump -u username -p -all-databases > BackupName.sql

實(shí)例說(shuō)明:

mysqldump -u -root -p -all-databases > /tmp/all.sql

5. 數(shù)據(jù)恢復(fù)

基本語(yǔ)法:

mysql -u root -p [dbname] backup.sql

實(shí)例說(shuō)明:

mysql -u root -p /tmp/backup.sql

四、直接復(fù)制數(shù)據(jù)庫(kù)目錄

MySQL 有一種非常簡(jiǎn)單的備份方法,就是將 MySQL 中的數(shù)據(jù)庫(kù)文件直接復(fù)制出來(lái)。這是最簡(jiǎn)單,速度最快的方法。不過(guò)在此之前,要先將服務(wù)器停止,這樣才可以保證在復(fù)制期間數(shù)據(jù)庫(kù)的數(shù)據(jù)不會(huì)發(fā)生變化。如果在復(fù)制數(shù)據(jù)庫(kù)的過(guò)程中還有數(shù)據(jù)寫(xiě)入,就會(huì)造成數(shù)據(jù)不一致。這種情況在開(kāi)發(fā)環(huán)境可以,但是在生產(chǎn)環(huán)境中很難允許備份服務(wù)器。

注意:這種方法不適用于 InnoDB 存儲(chǔ)引擎的表,而對(duì)于 MyISAM 存儲(chǔ)引擎的表很方便。同時(shí),還原時(shí) MySQL 的版本最好相同。

您可能感興趣的文章:
  • MySQL數(shù)據(jù)庫(kù)備份恢復(fù)實(shí)現(xiàn)代碼
  • mysql數(shù)據(jù)備份與恢復(fù)實(shí)現(xiàn)方法分析
  • shell腳本實(shí)現(xiàn)mysql定時(shí)備份、刪除、恢復(fù)功能
  • 從MySQL全庫(kù)備份中恢復(fù)某個(gè)庫(kù)和某張表的方法
  • MySQL使用全庫(kù)備份數(shù)據(jù)恢復(fù)單表數(shù)據(jù)的方法
  • C#實(shí)現(xiàn)MySQL命令行備份和恢復(fù)
  • Navicat for MySQL定時(shí)備份數(shù)據(jù)庫(kù)及數(shù)據(jù)恢復(fù)詳解
  • 淺談mysqldump使用方法(MySQL數(shù)據(jù)庫(kù)的備份與恢復(fù))
  • 詳解MySQL的主從復(fù)制、讀寫(xiě)分離、備份恢復(fù)
  • MySQL 從全庫(kù)備份中恢復(fù)指定的表和庫(kù)示例
  • 詳解mysql的備份與恢復(fù)

標(biāo)簽:仙桃 湖南 崇左 銅川 黃山 蘭州 湘潭 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談MySQL數(shù)據(jù)庫(kù)的備份與恢復(fù)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢(xún)

    • 400-1100-266