數(shù)據(jù)備份與還原第一篇分享給大家,具體內(nèi)容如下
基礎(chǔ)概念:
備份,將當前已有的數(shù)據(jù)或記錄另存一份;
還原,將數(shù)據(jù)恢復(fù)到備份時的狀態(tài)。
為什么要進行數(shù)據(jù)的備份與還原?
防止數(shù)據(jù)丟失;
保護數(shù)據(jù)記錄。
數(shù)據(jù)備份與還原的方式有很多種,具體可以分為:數(shù)據(jù)表備份、單表數(shù)據(jù)備份、SQL備份和增量備份。
數(shù)據(jù)表備份
數(shù)據(jù)表備份,不需要通過 SQL 來備份,我們可以直接進入到數(shù)據(jù)庫文件夾復(fù)制對應(yīng)的表結(jié)構(gòu)以及數(shù)據(jù);在需要還原數(shù)據(jù)的時候,直接將備份(復(fù)制)的內(nèi)容放回去即可。
不過想要進行數(shù)據(jù)表備份是有前提條件的,因為不同的存儲引擎之間是有區(qū)別的。
對于存儲引擎,MySQL 主要使用兩種,分別為:InnoDB 和 Myisam,兩者均免費。在這里,咱們可以順便科普一下存儲引擎的知識:
其中,Myisam 和 InnoDB 的數(shù)據(jù)存儲方法也有所區(qū)別:
Myisam:表、數(shù)據(jù)和索引全部單獨分開存儲;
InnoDB:只有表結(jié)構(gòu),數(shù)據(jù)全部存儲到ibd文件中。
執(zhí)行如下 SQL 語句,測試 Myisam 的數(shù)據(jù)存儲方式:
-- 創(chuàng)建 Myisam 表
create table my_myisam(
id int
)charset utf8 engine = myisam;
-- 顯示表結(jié)構(gòu)
show create table my_myisam;
-- 插入數(shù)據(jù)
insert into my_myisam values(1),(2),(3);
-- 顯示數(shù)據(jù)
select * from my_myisam;
如上圖所示,我們創(chuàng)建了名為my_myisam,存儲引擎為 Myisam 的數(shù)據(jù)表。為了驗證 Myisam 的存儲特性,我們可以到data文件夾查看具體的數(shù)據(jù)存儲情況:
如上圖所示,我們僅僅創(chuàng)建了一個表my_myisam,但是 Myisam 對于會生成三個存儲文件,分別為:
my_myisam.frm:存儲表的結(jié)構(gòu);
my_myisam.MYD:存儲表的數(shù)據(jù);
my_myisam.MYI:存儲表的索引。
現(xiàn)在,我們將這三個文件復(fù)制到testoo數(shù)據(jù)庫(至于如何找到 MySQL 數(shù)據(jù)文件的存儲位置,可以參考詳述查看 MySQL 數(shù)據(jù)文件存儲位置的方法):
執(zhí)行如下 SQL 語句,進行測試:
-- 切換數(shù)據(jù)庫
use testoo;
-- 查看 testoo 數(shù)據(jù)庫中的表
show tables;
-- 查看表 my_myisam
select * from my_myisam;
如上圖所示,顯然我們已經(jīng)通過復(fù)制文件的方式,完成了數(shù)據(jù)表的備份工作。
在這里,有一點需要我們注意,那就是:我們可以將通過 InnoDB 存儲引擎產(chǎn)生的.frm和.idb文件復(fù)制到另一個數(shù)據(jù)庫,也可以通過show tables命令查看復(fù)制過來的表名稱,但是卻無法獲得數(shù)據(jù)。
執(zhí)行如下 SQL 語句,進行測試:
-- 查看 testoo 數(shù)據(jù)庫中的表
show tables;
-- 查看表 my_class
select * from my_class;
通過以上測試,顯然數(shù)據(jù)表備份這種備份方式更適用于 Myisam 存儲引擎,而且備份的方式也很簡單,直接復(fù)制 Myisam 存儲引擎產(chǎn)生的.frm、.MYD和.MYI三個存儲文件到新的數(shù)據(jù)庫即可。
溫馨提示:符號[]括起來的內(nèi)容,表示可選項;符號+,則表示連接的意思。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- 史上最簡單的MySQL數(shù)據(jù)備份與還原教程(中)(三十六)
- 史上最簡單的MySQL數(shù)據(jù)備份與還原教程(下)(三十七)
- 詳解MySQL數(shù)據(jù)備份之mysqldump使用方法
- Linux下實現(xiàn)MySQL數(shù)據(jù)備份和恢復(fù)的命令使用全攻略
- 通過實例學習MySQL分區(qū)表原理及常用操作