亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql備份、恢復之mysqldump

發布時間:2020-07-18 12:41:27 來源:網絡 閱讀:389 作者:DoveMy 欄目:數據庫

  mysqldump是mysql用于轉存儲數據庫的實用程序。它主要產生一個SQL腳本,其中包含從頭重新創建數據庫所必需的命令CREATE TABLE INSERT等

 mysqldump 語法 : 

  默認配置讀取路徑:  /etc/mysql/my.cnf     /etc/my.cnf    ~/.my.cnf  

   Usage: mysqldump [OPTIONS] database [tables] 

   OR   mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] 

   OR   mysqldump [OPTIONS] --all-databases [OPTIONS]

常用參數 :  
    -u, --user=name         指定用戶 
    -h, --host=name         指定主機 
    -p, --password[=name]      指定密碼 
    -A, --all-databases       指定所有庫,-A與--all-databases不同時使用 
    -B, --databases         只指定--databases表示備份單個數據庫;多數據庫之間使用空格隔開;
                     如果不指定--databases表示備份整個數據庫;只指定dbname表示備份單張表;多表之間使用空格隔開
    --master-data[=#]         0 表示關閉,默認值為 0 
                     1 表示開頭打印CHANGE MASTER命令信息,在復制場景中有用 
                     2 表示添加注釋信息,記錄當前所處二進制日志及所處位置 
    --single-transaction       如果全部為 InnoDB引擎表,則不需要使用 --lock-all-tables;
                     基于此選項能實現熱備InnoDB表;會啟動單個大事務,對全局服務影響可能是持久的
    --lock-all-tables         執行備份前請求鎖定表,一般只鎖定當前要備份的數據庫及表 
    --add-drop-database        在恢復之前先刪除已經存在的對應數據庫 
    --add-drop-table         在恢復之前先刪除已經存在的對應表 
    -C, --compress          將數據先壓縮后通過網絡傳輸 
    -E, --events           備份數據同時,備份事件調度器代碼 
    -R, --routines          備份數據同時,備份存儲過程和存儲函數 
    -d, --no-data          表示只備份表結構不備份數據,復制表結構、空庫至其它服務器時有用.其它任何時候不可用  
    --opt               同時啟動各種高級選項

 備份方式 : 

    全量+增量+二進制日志 

      前提需要在配置中添加參數 : 

        default-storage-engine = InnoDB       設置默認存儲引擎為InnoDB 

        innodb_file_per_table=1            設置每表單個表空間 

        log-bin=mysql-bin                啟用二進制功能

備份過程 : 
    全量備份 : 
      使用InnoDB引擎,備份使用--single-transaction選項不需要鎖定表即實現熱備;使用非InnoDB引擎,備份需要使用--lock-all-tables選項進行請求鎖定所有表后開始備份
 
      mysqldump -uroot -pmypass --single-transaction --all-databases --master-data=2 > /backup/mysql_fullbak.sql
 
    增量備份 : 
      mysql>SHOW MASTER STATUS;              查看當前處于哪個日志文件及位置 
         less  /backup/mysql_fullbak.sql     查看從哪個位置開始 
      mysqlbinlog --start-position=4579 --stop-position=4868 mysql-bin.000015 > /backup/increment.sql  指定開始及結束位置導出成增量備份
      
    二進制日志備份: 
      mysql>INSERT INTO test (Name,Age) VALUES ('tom',18);       增量備份后,插入一條數據
      mysql>DROP DATABASE hello;                                 此時刪除數據庫
      mysql>SHOW MASTER STATUS;                           查看當前處于哪個日志文件及位置
      mysqlbinlog --start-position=4868 mysql-bin.000015  查看數據庫崩潰前二進制日志開始位置,結束位置必須是數據庫刪除之前位置
      mysqlbinlog --start-position=4868 --stop-position=5062 mysql-bin.000015 > /tmp/hello.sql 將二進制日志啟動時位置至崩潰前位置數據導出
恢復過程 : 
    前提 : 清空數據目錄下所有文件,重新初始化數據庫 
      mysql>SET GLOBAL sql_log_bin=0;      恢復時需要臨時關閉二進制日志,如不關閉,恢復數據將記錄進二進制日志增加日志管理難度
      mysql>FLUSH LOGS;                    手動對二進制日志進行一次滾動
      mysql < /backup/mysql_fullbak.sql    恢復全量備份
      mysql < /backup/increment.sql        恢復增量備份
      mysql < /tmp/hello.sql               恢復崩潰前導出二進制數據
      mysql>SET GLOBAL sql_log_bin=1;      恢復完成開啟二進制日志

  恢復后需要使用 mysqlcheck -uroot -pmypass -c -all-databases 檢查所有表是否存在問題,所有恢復完成后請記得對數據庫做一次全量備份


  至此,使用mysqldump備份恢復完成,如有錯誤請大家指教!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙口市| 都昌县| 曲靖市| 宣武区| 股票| 台前县| 浦江县| 若尔盖县| 大港区| 鄄城县| 大埔县| 筠连县| 巴彦淖尔市| 思南县| 无极县| 黑河市| 大安市| 乌苏市| 乌恰县| 乌鲁木齐县| 吉安市| 东丰县| 故城县| 新营市| 潞西市| 息烽县| 桐柏县| 长阳| 海丰县| 涟源市| 七台河市| 长武县| 古交市| 定安县| 黔南| 饶平县| 邯郸县| 上饶县| 桑日县| 辛集市| 垦利县|