本文主要為大家詳細介紹了史上最簡單的MySQL資料備份與還原教學第一篇,具有一定的參考價值,有興趣的小夥伴們可以參考一下,希望能幫助大家。
資料備份與還原第一篇分享給大家,具體內容如下
基礎概念:
備份,將目前已有的資料或記錄另存一份;
還原,將資料還原到備份時的狀態。
為什麼要進行資料的備份與還原?
防止資料遺失;
保護資料記錄。
資料備份與還原的方式有很多種,具體可以分為:資料表備份、單表資料備份、SQL備份和增量備份。
資料表備份
資料表備份,不需要透過SQL 來備份,我們可以直接進入到資料庫資料夾複製對應的表結構以及資料;在需要還原資料的時候,直接將備份(複製)的內容放回去即可。
不過想要進行資料表備份是有前提條件的,因為不同的儲存引擎之間是有差別的。
對於儲存引擎,MySQL 主要使用兩種,分別為:InnoDB 和 Myisam,兩者皆免費。在這裡,咱們可以順便科普一下儲存引擎的知識:
#其中,Myisam 和InnoDB 的資料儲存方法也有所區別:
Myisam:表、資料和索引全部單獨分開儲存;
InnoDB:只有表格結構,資料全部儲存到ibd檔案中。
執行如下SQL 語句,測試Myisam 的資料儲存方式:
-- 创建 Myisam 表 create table my_myisam( id int )charset utf8 engine = myisam; -- 显示表结构 show create table my_myisam; -- 插入数据 insert into my_myisam values(史上最簡單的MySQL資料備份與還原教程),(2),(3); -- 显示数据 select * from my_myisam;
如上圖所示,我們建立了名為my_myisam,存儲引擎為Myisam 的數據表。為了驗證Myisam 的儲存特性,我們可以到data資料夾查看特定的資料儲存狀況:
如上圖所示,我們只是建立了一個表格my_myisam,但Myisam對於會產生三個儲存文件,分別為:
my_myisam.frm:儲存表的結構;
my_myisam.MYD:儲存表的資料;
my_myisam.MYI:儲存表的索引。
現在,我們將這三個檔案複製到testoo資料庫(至於如何找到MySQL 資料檔案的儲存位置,可以參考詳述查看MySQL 資料檔案儲存位置的方法):
執行如下SQL 語句,進行測試:
-- 切换数据库 use testoo; -- 查看 testoo 数据库中的表 show tables; -- 查看表 my_myisam select * from my_myisam;
#如上圖所示,顯然我們已經透過複製檔案的方式,完成了資料表的備份工作。
在這裡,有一點需要我們注意,那就是:我們可以將透過InnoDB 儲存引擎產生的.frm和.idb檔案複製到另一個資料庫,也可以透過show tables指令查看複製過來的表名稱,但是卻無法取得資料。
執行如下SQL 語句,進行測試:
-- 查看 testoo 数据库中的表 show tables; -- 查看表 my_class select * from my_class;
透過上述測試,顯然資料表備份這種備份方式更適用於Myisam 儲存引擎,備份的方式也很簡單,直接複製Myisam 儲存引擎產生的.frm、.MYD和.MYI三個儲存檔案到新的資料庫即可。
溫馨提示:符號[]括起來的內容,表示可選項;符號+,則表示連接的意思。
相關推薦:
#以上是史上最簡單的MySQL資料備份與還原教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!