<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      對于MySQL中日志以及備份還原的圖文代碼詳細說明

      [摘要]這篇文章主要為大家詳細介紹了MYSQL日志與備份還原問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下本文為大家分享了MYSQL的日志與備份還原,供大家參考,具體內容如下一、錯誤日志當數據庫出現...
      這篇文章主要為大家詳細介紹了MYSQL日志與備份還原問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下

      本文為大家分享了MYSQL的日志與備份還原,供大家參考,具體內容如下

      一、錯誤日志

      當數據庫出現任何故障導致無法使用時,第一時間先去查看該日志

      1、服務器啟動關閉過程中的信息

      2、服務器運行過程中的錯誤信息

      日志存放路徑,可以通過命令查看:

      關于MySQL中日志以及備份還原的圖文代碼詳解

      日志文件命名格式:host_name.err

      關于MySQL中日志以及備份還原的圖文代碼詳解

      二、二進制日志

      又稱BINLOG,記錄所有的DDL語句和DML語句,不包括查詢語句。這個日志不僅非常重要,而且作為開發人員也非常喜歡這個日志。從它的定義可以看出,這個日志記錄了所有會改變表結構和表數據的事件,所以一旦數據被誤刪除或者因為其他原因導致數據丟失,我們可以通過這個日志將數據恢復。是不是覺得很炫酷。

      日志存放路徑:與錯誤日志在同一個目錄下

      命名方式:默認方式為hostname-bin + 編號

      mysql每次啟動或者flush日志時都會生成一個新的binlog,編號從1開始遞增。單個日志達到一定大小時,也會生成新的文件。

      1、開啟記錄binlog的開關

      在myslq的安裝目錄下,有一個配置文件:my.ini

      關于MySQL中日志以及備份還原的圖文代碼詳解


      innodb_buffer_pool_size=107M
      
      # Size of each log file in a log group. You should set the combined size
      # of log files to about 25%-100% of your buffer pool size to avoid
      # unneeded buffer pool flush activity on log file overwrite. However,
      # note that a larger logfile size will increase the time needed for the
      # recovery process.
      innodb_log_file_size=54M
      
      # Number of threads allowed inside the InnoDB kernel. The optimal value
      # depends highly on the application, hardware as well as the OS
      # scheduler properties. A too high value may lead to thread thrashing.
      innodb_thread_concurrency=10
      
      log-bin=mysql-bin

      其中log-bin表示開關開啟,mysql-bin是日志名稱的前綴。

      關于MySQL中日志以及備份還原的圖文代碼詳解

      2、BINLOG的查看方式

      由于是二進制文件,所以不能像錯誤日志那樣直接查看,需要借助mysql提供的工具:mysqlbinlog

      關于MySQL中日志以及備份還原的圖文代碼詳解

      關于MySQL中日志以及備份還原的圖文代碼詳解

      3、按時間查看BINLOG

      關于MySQL中日志以及備份還原的圖文代碼詳解

      關于MySQL中日志以及備份還原的圖文代碼詳解

      按時間查詢有一個需要注意的地方就是,start-datetime是閉區間,stop-datetime是開區間,所以如果需要查詢全天日志話,需要定義為:
      --start-datetime="2017/07/12 00:00:00" --stop-datetime="2017/07/13 00:00:00":這樣查詢的時間范圍是7/12 00:00:00 - 7/12 24:59:59

      三、數據備份

      數據備份其實就是利用msyql提供的工具mysqldump將數據備份到指定目錄下的指定文件中。

      1、備份指定的數據庫或者數據庫中的某些表

      mysqldump 【option】 db_name 【table_names】

      2、備份指定的一個或者多個數據庫

      mysqldump 【option】 --database db_name1 db_name2

      3、備份所有數據庫

      mysqldump 【option】 -all -databases

      將端口為3306的數據庫實例中的數據庫wd_msg中的表結構以及表數據導出到cd.sql的文件中

      關于MySQL中日志以及備份還原的圖文代碼詳解

      cd.sql文件中內容如下;

      關于MySQL中日志以及備份還原的圖文代碼詳解

      這個文件記錄的是DML語句以及DDL語句,查詢相關的操作除外。在數據恢復時就可以通過這些語句一條條執行,從而完成數據的還原。

      四、數據恢復

      我們將表刪除,在重新導入剛剛導出的數據:

      關于MySQL中日志以及備份還原的圖文代碼詳解

      關于MySQL中日志以及備份還原的圖文代碼詳解

      下面的場景是還原同一臺服務器上另一個端口為3307的mysql實例中的wd_msg數據庫

      關于MySQL中日志以及備份還原的圖文代碼詳解

      Mysql的備份還原針對不同的場景有不同的選擇,這里只是介紹的其中一種概念,后面會有文章展開來詳細介紹。

      以上就是關于MySQL中日志以及備份還原的圖文代碼詳解的詳細內容,更多請關注php中文網其它相關文章!


      學習教程快速掌握從入門到精通的SQL知識。




      日韩精品一区二区三区高清