1. 程式人生 > >Mysql----資料備份與資料恢復

Mysql----資料備份與資料恢復

資料備份(mysqldump,在linux終端操作)

1)命令格式:

              mysqldump  -u使用者名稱  -p  源庫名  > 路徑[如:~/***.sql]

2)源庫名的表示方式

    --all-databases    備份所有庫
    庫名               備份單個庫
    -B 庫1 庫2 庫3     備份多個庫
    庫名 表1 表2 表3    備份指定庫的多張表

示例:

        1.備份所有庫,放到mydata目錄下:all.sql
        mysqldump -uroot -p --all-databases > all.sql

        2.備份db4庫中的sheng city xian 三張表到scx.sql
        mysqldump -uroot -p db4 sheng city xian > scx.sql

        3.備份MOSHOU 和 db4 庫到 md.sql
        mysqldump -uroot -p -B MOSHOU db4 >md.sql

        4.備份db4 庫,db4.sql
        mysqldump -uroot -p db4 > db4.sql

資料的備份型別根據自身的特性主要分為以下幾組:

  • 完全備份:備份整個資料庫
  • 部分備份:部分備份資料集(例如:備份一個表)                                                                                                                                 增量備份:備份自上一次備份以來(增量或完全)以來變化的資料
    ;   特點: 節約空間、還原麻煩                                          差異備份:備份自上一次完全備份以來變化的資料;   特點: 浪費空間、還原比增量備份簡單

資料恢復

建立新的空庫(新庫名與原庫名相同)

           1、命令格式(Linux終端)
                 mysql -uroot -p 目標庫名 < ***.sql
           2、從所有庫備份中恢復某一個庫(--one-database)
                 mysql -uroot -p --one-database 目標庫名 < all.sql
                 mysql -uroot -p --one-database db4 < all.sql

注意
    1、恢復庫時如果恢復到原庫會將表中資料覆蓋,新增表不會刪除
    2、資料恢復時如果恢復的庫不存在,則必須先建立空庫