首頁 > mysql教程 閱讀:0更新時間:2020-03-28 04:09:27

MySQL數據庫恢復(LOAD DATA)

數據庫恢復是指以備份為基礎,與備份相對應的系統維護和管理操作。

系統進行恢復操作時,先執行一些系統安全性的檢查,包括檢查所要恢復的數據庫是否存在、數據庫是否變化及數據庫文件是否兼容等,然后根據所采用的數據庫備份類型采取相應的恢復措施。

數據庫恢復機制設計的兩個關鍵問題是:第一,如何建立冗余數據;第二,如何利用這些冗余數據實施數據庫恢復。

建立冗余數據最常用的技術是數據轉儲和登錄日志文件。通常在一個數據庫系統中,這兩種方法是一起使用的。

數據轉儲是 DBA 定期地將整個數據庫復制到磁帶或另一個磁盤上保存起來的過程。這些備用的版本成為后備副本或后援副本。

可使用 LOAD DATA…INFILE 語句來恢復先前備份的數據。

【實例】將之前導出的數據備份文件 file.txt 導入數據庫 test_db 的表 tb_students_copy 中,其中 tb_students_copy 的表結構和 tb_students_info 相同。

首先創建表 tb_students_copy,輸入的 SQL 語句和執行結果如下所示。
mysql> CREATE TABLE tb_students_copy
    -> LIKE tb_students_info;
Query OK, 0 rows affected (0.52 sec)
mysql> SELECT * FROM tb_students_copy;
Empty set (0.00 sec)
導入數據與查詢表 tb_students_copy 的過程如下所示。
mysql> LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/
Uploads/file.txt'
    -> INTO TABLE test_db.tb_students_copy
    -> FIELDS TERMINATED BY ','
    -> OPTIONALLY ENCLOSED BY '"'
    -> LINES TERMINATED BY '?';
Query OK, 10 rows affected (0.14 sec)
Records: 10  Deleted: 0  Skipped: 0  Warnings: 0
mysql> SELECT * FROM test_db.tb_students_copy;
+----+--------+---------+------+------+--------+------------+
| id | name   | dept_id | age  | sex  | height | login_date |
+----+--------+---------+------+------+--------+------------+
|  1 | Dany   |       1 |   25 | F    |    160 | 2015-09-10 |
|  2 | Green  |       3 |   23 | F    |    158 | 2016-10-22 |
|  3 | Henry  |       2 |   23 | M    |    185 | 2015-05-31 |
|  4 | Jane   |       1 |   22 | F    |    162 | 2016-12-20 |
|  5 | Jim    |       1 |   24 | M    |    175 | 2016-01-15 |
|  6 | John   |       2 |   21 | M    |    172 | 2015-11-11 |
|  7 | Lily   |       6 |   22 | F    |    165 | 2016-02-26 |
|  8 | Susan  |       4 |   23 | F    |    170 | 2015-10-01 |
|  9 | Thomas |       3 |   22 | M    |    178 | 2016-06-07 |
| 10 | Tom    |       4 |   23 | M    |    165 | 2016-08-05 |
+----+--------+---------+------+------+--------+------------+
10 rows in set (0.00 sec)

beylze編程學院,一個分享編程知識和seo優化知識的網站。跟著beylze一起學習,每天都有進步。

通俗易懂,深入淺出,一篇文章只講一個知識點。

文章不深奧,不需要鉆研,在公交、在地鐵、在廁所都可以閱讀,隨時隨地漲姿勢。

文章不涉及代碼,不燒腦細胞,人人都可以學習。

當你決定關注beylze(公眾號:beylze),你已然超越了90%的其他從業者!

相關文章

国产亚洲欧美日韩