資料庫還原

  1. 上一章對資料庫 dyw 備份,存成 dyw.sql。
    [root@kvm3 ~]# ll dyw.sql
    -rw-r--r--. 1 root root 7736 Jan  5 09:47 dyw.sql
    
  2. 刪除資料庫 dyw 的資料表 animals。
    [root@kvm3 ~]# mariadb -uroot -p123qwe -e "drop table dyw.animals;"
    
  3. 查詢資料庫 dyw,資料表 animals 已不見了。
    [root@kvm3 ~]# mariadb -uroot -p123qwe -e "use dyw; show tables;"
    +----------------+
    | Tables_in_dyw  |
    +----------------+
    | clone1_animals |
    | clone_animals  |
    | dcount         |
    | employees      |
    | indextab       |
    | person         |
    | tbl            |
    +----------------+
    
  4. dyw.sql 為資料庫 dyw 匯出的 raw data。將資料庫 dyw 還原成 dyw.sql 時的狀態。
    [root@kvm3 ~]# mariadb -uroot -p123qwe dyw < dyw.sql
    
  5. 再查詢目前資料庫 dyw 又含 animals 資料表。
    [root@kvm3 ~]# mariadb -uroot -p123qwe -e "use dyw; show tables;"
    +----------------+
    | animals        |
    | clone1_animals |
    | clone_animals  |
    | dcount         |
    | employees      |
    | indextab       |
    | person         |
    | tbl            |
    +----------------+
    
  6. 查詢 animals 資料表,有 4 筆紀錄。
    [root@kvm3 ~]# mariadb -uroot -p123qwe -e "select * from dyw.animals;"
    +----+---------+------+
    | id | name    | foot |
    +----+---------+------+
    |  1 | dog     |    4 |
    |  2 | cat     |    4 |
    |  3 | bird    |    2 |
    |  4 | chicken |    2 |
    +----+---------+------+
    
  7. 查詢 animals 資料表的欄位屬性,也回到備份時的屬性。
    [root@kvm3 ~]# mariadb -uroot -p123qwe -e "desc dyw.animals;"
    +-------+---------------------+------+-----+---------+----------------+
    | Field | Type                | Null | Key | Default | Extra          |
    +-------+---------------------+------+-----+---------+----------------+
    | id    | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |
    | name  | varchar(20)         | NO   |     | NULL    |                |
    | foot  | tinyint(3) unsigned | NO   |     | NULL    |                |
    +-------+---------------------+------+-----+---------+----------------+