- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標記
- 域名注冊服務(wù)機構(gòu)許可:滇D3-20230001
- 代理域名注冊服務(wù)機構(gòu):新網(wǎng)數(shù)碼
1. 直接拷貝數(shù)據(jù)庫文件(物理拷貝)
2. 使用 mysqldump 工具備份
3. 使用 mysqlhotcopy 工具備份
4. 使用 mysql 的主從同步復(fù)制,實現(xiàn)數(shù)據(jù)實時同步備份
1. 日志文件
錯誤日志 err log
二進制日志 binary log
更新日志 update log
查詢?nèi)罩?query log
慢查詢?nèi)罩?slow query log
innodb 的 redo 日志
2. 數(shù)據(jù)文件
myisam存儲引擎 :
表結(jié)構(gòu)信息:.frm
數(shù)據(jù)信息:.myd
數(shù)據(jù)索引信息:.myi
Innodb存儲引擎:
獨享表空間:.ibd
共享表空間:.ibdata
3. 系統(tǒng)文件
配置文件:my.cnf
進程文件:xxx.pid
socket文件:xxx.sock
4. replication 文件
master.info:存儲在 slave 端目錄下,關(guān)于 master 和 slave 相關(guān)信息。
relay log:存儲 I/O 進程從 master 讀取的 bin-log 信息,然后由slave端的SQL線程從該 binary log 中讀取解析過的日志信息,轉(zhuǎn)化成 slave 所能執(zhí)行的 query 語句。
index:則是存放 binary log 的路徑,也就是目錄文件。
1. 備份原理
mysqldump 備份原理比較簡單,先查出需要備份的表結(jié)構(gòu),在文本文件中生成一個 create 語句;然后將表中的所有數(shù)據(jù)記錄轉(zhuǎn)換成一條 insert 語句;通過這些語句就能夠創(chuàng)建表并插入數(shù)據(jù)。
2. 備份一個數(shù)據(jù)庫
基本語法:
mysqldump -u username -p dbname table1 table2 ... > BackupName.sql
實例說明:
>mysqldump -u root -p test person > /tmp/backup.sql
3. 備份多個數(shù)據(jù)庫
基本語法:
mysqldump -u username -p --databases dbname2 dbname2 > BackupName.sql
實例說明:
>mysqldump -u root -p --databases test mysql > /tmp/backup.sql
4. 備份所有數(shù)據(jù)庫
基本語法:
mysqldump -u username -p -all-databases > BackupName.sql
實例說明:
>mysqldump -u -root -p -all-databases > /tmp/all.sql
5. 數(shù)據(jù)恢復(fù)
基本語法:
mysql -u root -p [dbname] < backup.sql
實例說明:
>mysql -u root -p < /tmp/backup.sql
mysqlhotcopy使用lock tables、flush tables和cp或scp來快速備份數(shù)據(jù)庫。它是備份數(shù)據(jù)庫或單個表最快的途徑,完全屬于物理備份,但?能用于備份MyISAM存儲引擎和運行在數(shù)據(jù)庫目錄所在的機器上。與mysqldump備份不同,mysqldump屬于邏輯備份,備份時是執(zhí)行的sql語句。使用mysqlhotcopy命令前需要要安裝相應(yīng)的軟件依賴包(perl-DBD,DBD-mysql)。
yum install perl-DBD* -y wget http://www.tjdsmy.cn/authors/id/M/MI/MICHIELB/DBD-mysql-4.040.tar.gz tar xvf DBD-mysql-4.040.tar.gz cd DBD-mysql-4.040perl Makefile.PL make&&make install vim /usr/my.cnf [mysqlhotcopy] interactive-timeout host=localhost user=root password=****** port=3306 /etc/init.d/mysql restart mysqlhotcopy -u root -p ****** test /opt/ #備份數(shù)據(jù)庫 mysqlhotcopy -u root -p ****** mysql./user*/ /opt/ #備份數(shù)據(jù)表 cp -arp /opt/test /var/lib/mysql/ #恢復(fù)數(shù)據(jù)
MySQL 有一種非常簡單的備份方法,就是將 MySQL 中的數(shù)據(jù)庫文件直接復(fù)制出來。這是最簡單,速度最快的方法。不過在此之前,要先將服務(wù)器停止,這樣才可以保證在復(fù)制期間數(shù)據(jù)庫的數(shù)據(jù)不會發(fā)生變化。如果在復(fù)制數(shù)據(jù)庫的過程中還有數(shù)據(jù)寫入,就會造成數(shù)據(jù)不一致。這種情況在開發(fā)環(huán)境可以,但是在生產(chǎn)環(huán)境中很難允許備份服務(wù)器。
注意:這種方法不適用于 InnoDB 存儲引擎的表,而對于 MyISAM 存儲引擎的表很方便。同時,還原時 MySQL 的版本最好相同。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP