1. 程式人生 > >Linux中MySQL的備份及恢復

Linux中MySQL的備份及恢復

資料備份(mysqldump,在Linux終端中操作)
     1、命令格式
             mysqldump -uroot -p 源庫名 > 路徑/xxx.sql
     2、示例
             1、備份db2庫
                   mysqldump -uroot -p db2 > /home/tarena/db2.sql
     3、源庫名的表示方式
                 --all-databases 備份所有庫
                 庫名            備份單個庫
                 -B 庫1 庫2 ...  備份多個庫
                 庫名 表1 表2 ...備份指定庫的指定表
     4、練習
             1、備份所有庫 all_mysql.sql,放到使用者主目錄下的 mydata 目錄中
                     mysqldump -uroot -p --all-databases > ~/mydata/all_mysql.sql
             2、備份 db2 庫中的sheng、city、xian三張表 db2scx.sql
                     mysqldump -uroot -p db2 sheng city xian > ~/mydata/db2scx.sql
             3、備份 MOSHOU 和 db2 庫,MSdb2.sql
                     mysqldump -uroot -p -B MOSHOU db2 > ~/mydata/MSdb2.sql

資料恢復

    1、命令格式

             mysql -u使用者名稱 -p 目標庫名 < 路徑/xxx.sql
    2、示例
         1、先備份庫
                 mysqldump -uroot -p db2 > db2.sql
         2、刪除庫
                 drop database db2;
         3、先建立空庫
                 create database db2 default charset=utf8;
         4、恢復命令
                 mysql -uroot -p db2 < db2.sql
   3、備份分為 完全備份 和 增量備份
         完全備份:mysqldump
         增量備份:binlog日誌、xbackup工具
   4、從所有庫的備份檔案中恢復某一個庫(--one-database)
         mysql -u使用者名稱 -p --one-database 目標庫名 < all_mysql.sql
         示例:
         mysql -uroot -p --one-database db2 < all_mysql.sql
         注意:
                 1、恢復庫時庫中新增的表不會刪除
                 2、恢復時必須先建立空庫