數據備份與還原第三篇,具體如下
基礎概念:
備份,將當前已有的數據或記錄另存一份;
還原,將數據恢復到備份時的狀態。
為什么要進行數據的備份與還原?
防止數據丟失;
保護數據記錄。
數據備份與還原的方式有很多種,具體可以分為:數據表備份、單表數據備份、SQL備份和增量備份。
SQL 備份
SQL 備份,備份的是 SQL 語句。在進行 SQL 備份的時候,系統會對表結構以及數據進行處理,變成相應的 SQL 語句,然后執行備份。在還原的時候,只要執行備份的 SQL 語句即可,此種備份方式主要是針對表結構。
不過,MySQL 并沒有提供 SQL 備份的指令,如果我們想要進行 SQL 備份,則需要利用 MySQL 提供的軟件mysqldump.exe,而且mysqldump.exe也是一種客戶端,因此在操作服務器的時候,必須進行認證。
基本語法:mysqldump.exe -hPup + 數據庫名字 + [表名1 + [表名2]] > 備份文件目錄
其中,-hPup分別表示
h:IP 或者localhost;
P:端口號;
u:用戶名;
p:密碼。
由于mysqldump.exe也是客戶端,因此想執行上述命令,我們需要先退出 MySQL 客戶端,然后在命令行窗口執行如下命令:
mysqldump.exe -uroot -pbin.guo test class > D:/CoderLife/testMySQL/classSQL.sql
如上圖所示,雖然mysqldump給出了警告(在命令行中輸入密碼是不安全的),但是我們輸入的命令已經成功執行啦!在這里,如果執行上述命令不成功的話,很有可能是我們沒有配置環境變量的問題。
如上圖所示,在testMySQL目錄下,已經生產了對表class的 SQL 備份,至于 SQL 備份的內容到底是什么,我們可以打開classSQL.sql文件進行查看:
如上圖所示,通過 SQL 備份的文件,包含了各種 SQL 語句,如創建表的語句以及插入數據的語句等等。
此外,在上面給出的執行 SQL 備份的基本語法中,我們可以看到表名都用
[]括了起來,這表示可選項,如果不輸入表名,則默認備份整個數據庫。執行過程和上面一樣,因此我們就不予演示啦!接下來,我們演示通過 SQL 備份的文件還原數據,有兩種方式:
方式 1:使用mysql.exe客戶端還原數據
基本語法mysql.exe/mysql -hPup 數據庫名稱 + 數據庫名字 + [表名1 + [表名2]] < 備份文件目錄
在命令行窗口執行如下命令,進行測試:
| -- 登錄 MySQL 客戶端mysql -uroot -p-- 輸入密碼,切換數據庫use test;-- 刪除表 class 中的數據delete from class;-- 退出數據庫/q-- 通過 SQL 備份的文件還原數據mysql -uroot -pbin.guo test < D:/CoderLife/testMySQL/classSQL.sql |