②⑩ 【MySQL Log】詳解MySQL日志:錯誤日志、二進制日志、查詢日志、慢查詢日志

在這里插入圖片描述

個人簡介:Java領域新星創作者;阿里云技術博主、星級博主、專家博主;正在Java學習的路上摸爬滾打,記錄學習的過程~
個人主頁:.29.的博客
學習社區:進去逛一逛~

在這里插入圖片描述

MySQL日志

  • ②⑩ MySQL日志:錯誤日志、二進制日志、查詢日志、慢查詢日志
    • 1. 錯誤日志
    • 2. 二進制日志
    • 3. 查詢日志
    • 4. 慢查詢日志


②⑩ MySQL日志:錯誤日志、二進制日志、查詢日志、慢查詢日志

1. 錯誤日志

錯誤日志

錯誤日志是MySQL中最重要的日志之一,它記錄了當mysqld啟動和停止時,以及服務器在運行過程中發生任何嚴重錯誤時的相關信息。當數據庫出現任何故障導致無法正常使用時,建議首先查看此日志。

該日志是默認開啟 的,默認存放目錄/var/log/,默認的日志文件名為mysqld.log

  • 🚀查看日志位置:

    • SHOW VARIABLES LIKE '%log_error%';
      



2. 二進制日志

二進制日志

二進制日志(BINLOG)記錄了所有的DDL(數據定義語言)語句和DML(數據操縱語言)語句,但不包括數據查詢(SELECT、SHOW)
語句。



二進制日志 - 作用

  • ①災難時的數據恢復;
  • ②MySQL的主從復制。在MySQL8版本中,默認二進制日志是開啟著的;

  • 🚀查看二進制日志位置、參數:

    • SHOW VARIABLES LIKE '%log_bin%';
      



二進制日志 - 格式

  • MySQL服務器提供了多種格式來記錄二進制日志:
    • 在這里插入圖片描述

  • 🚀查看 默認的二進制日志格式:

    • -- ROW
      SHOW VARIABLES LIKE '%binlog_format%'; 
      



查看 二進制日志

由于日志是以二進制方式存儲的,不能直接讀取,需要通過二進制日志查詢工具mysqlbinlog 來查看:

# 查看命令(命令行)
mysqlbinlog [ 參數選項 ] logfilename#參數選項:
-d   #指定數據庫名稱,只列出指定的數據庫相關操作。
-o   #忽略掉日志中的前n行命令。
-v   #將行事件(數據變更)重構為SQL語句
-vv  #將行事件(數據變更)重構為SQL語句,并輸出注釋信息



刪除 二進制日志

對于比較繁忙的業務系統,每天生成的binlog數據巨大,如果長時間不清除,將會占用大量磁盤空間。

  • 以下是清理二進制日志的 3種方式(命令行指令):
  • 在這里插入圖片描述

  • 也可以在mysql的配置文件中配置二進制日志的過期時間,設置了之后,二進制日志過期會自動刪除。

    • -- 查看二進制日志的過期時間
      SHOW VARIABLES LIKE '%binlog_expire_logs_seconds%';
      



3. 查詢日志

查詢日志

查詢日志中記錄了客戶端的所有操作語句,而二進制日志不包含查詢數據的SQL語句。默認情況下,查詢日志是未開啟
的。

  • 🚀查看 查詢日志相關參數:

    • SHOW VARIABLES LIKE '%general%';
      
  • 如果需要開啟查詢日志,可以修改MySQL配置文件/etc/my.cnf,添加以下內容:

    • # 該選項用來開啟查詢日志,可選值:0或者1;0代表關閉,1代表開啟
      general_log=1
      #設置日志的文件名,如果沒有指定,默認的文件名為host_name.log
      general_log_file=mysql_query.log
      



4. 慢查詢日志

慢查詢日志

慢查詢日志記錄了所有執行時間超過參數long_query_time 設置值并且掃描記錄數不小于min_examined_row_limit 的所有的SQL語句的日志,默認未開啟。long_query_time 默認為10秒,最小為0,精度可以到微秒。

  • 如果需要開啟或設置慢查詢日志,可以修改MySQL配置文件/etc/my.cnf,添加以下內容:

    • # 該選項用來開啟慢查詢日志,可選值:0或者1;0代表關閉,1代表開啟
      slow_query_log=1
      #設置執行時間參數,默認為10秒,最小為0
      long_query_time=2
      #記錄執行較慢的管理語句
      log_slow_admin_statements=1
      #記錄執行較慢的未使用索引的語句
      log_queries_not_using_indexes= 1
      




在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/160105.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/160105.shtml
英文地址,請注明出處:http://en.pswp.cn/news/160105.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SpringBoot3.x最簡集成SpringDoc-OpenApi

為什么使用SpringDoc 在SpringBoot低版本時一般使用Swagger掃描接口生成Json格式的在線文檔,然后通過swagger-ui將Json格式的文檔以頁面形式展示文檔。可惜遺憾的是swagger更新到3.0.0版本(springfox)后不更新了。 SpringBoot3.x以后需要的JDK版本最低為Java17&…

MQ和redis的內部原理一些總結

首先,先知道內部原理;其次,就是查官方文檔實戰了。 但是如果不熟悉內部原理,那么僅僅只是安裝官方文檔,并不能排除跟蹤問題和故障、預防風險等策略; 以下總結圖解:(mysql 8.0新增的…

YOLO目標檢測——衛星遙感艦船檢測數據集下載分享【含對應voc、coco和yolo三種格式標簽】

實際項目應用:衛星遙感艦船檢測數據集說明:衛星遙感艦船檢測數據集,真實場景的高質量圖片數據,數據場景豐富,含船一個類別標簽說明:使用lableimg標注軟件標注,標注框質量高,含voc(xm…

Redis的持久化

redis是一個內存數據庫,是把數據存儲在內存中的,而我們知道內存中的數據是不持久的,一旦服務器重啟或者進程重啟,內存的數據就丟失了.為了讓數據達到持久化的效果,就必須把數據寫到硬盤上. redis相對于mysql這樣的關系型數據庫最明顯的優勢就是快.所以為了保證速度快,數據還得…

動態跳過測試用例

動態跳過測試用例 說明 我們可以通過指定環境變量來動態判斷是否執行指定的測試用例設置環境變量有很多種方法,例如命令行方式,格式:--env keyval1,key2val2 ,若需要指定多個環境變量則需要逗號來隔開,而不是空格 t…

Live800:企業提升客戶互動體驗,有哪些關鍵因素?

如今,隨著信息時代的不斷發展,企業已經不再是單向的商業機構,他們需要與客戶進行及時的溝通與反饋,從而更好地提升客戶互動體驗,達到營銷和用戶體驗的雙贏局面。那么,企業如何提升客戶互動體驗呢&#xff1…

設計模式——RBAC 模型詳解

1.什么是 RBAC 呢? RBAC 即基于角色的權限訪問控制(Role-Based Access Control)。這是一種通過角色關聯權限,角色同時又關聯用戶的授權方式。 簡單地說:一個用戶可以擁有若干角色,每一個角色又可以被分配…

Mysql 中如何導出數據?

文章目錄 前言MySQL 導出數據使用 SELECT ... INTO OUTFILE 語句導出數據SELECT ... INTO OUTFILE 語句有以下屬性:導出表作為原始數據導出SQL格式的數據將數據表及數據庫拷貝至其他主機 后言 前言 hello world歡迎來到前端的新世界 😜當前文章系列專欄:…

Linux程序之可變參數選項那些事!

一、linux應用程序如何接收參數? 1. argc、argv Linux應用程序執行時,我們往往通過命令行帶入參數給程序,比如 ls /dev/ -l 其中參數 /dev/ 、-l都是作為參數傳遞給命令 ls 應用程序又是如何接收這些參數的? 通常應用程序都…

Raspberry Pi 5 新一代單板計算機:樹莓派5代 (介紹、入門、解疑)

樹莓派5代正式發布后,硬件和性能的全面升級讓眾多開發者們都想入手感受一波,外觀上Raspberry Pi 5 與前代產品非常相似,不過,在保留信用卡大小的整體尺寸的同時,也更新了一些設計元素,以適應新芯片組的功能…

python實現調和反距離空間插值法AIDW

1 簡介 AIDW 主要是針對 IDW 的缺點進行了改進,考慮了樣本點與預測點的位置,即方向和距離,具體見下圖: 2 改進 IDW 公式: 從IDW算法可看出,插值點的估算值僅與插值樣本距插值點的遠近相關,并未…

貝葉斯AB測試

AB測試是用來評估變更效果的有效方法,但很多時候會運行大量AB測試,如果能夠在測試中復用之前測試的結果,將有效提升AB測試的效率和有效性。原文: Bayesian AB Testing[1] 隨機實驗,又稱AB測試,是行業中評估因果效應的既…

自定義類型:結構體

1.結構體類型的聲明 1.1結構體的概念 結構是?些值的集合,這些值稱為成員變量。結構的每個成員可以是不同類型的變量。 1.2 結構的聲明 struct tag {member-list; }variable-list; 例如描述?個學?: struct Stu {char name[20];//名字int age;//年…

【Mysql】[Err] 1293 - Incorrect table definition;

基本情況 SQL文件描述 /* Navicat MySQL Data TransferSource Server : cm4生產-200 Source Server Version : 50725 Source Host : 192.168.1.200:3306 Source Database : db_wmsTarget Server Type : MYSQL Target Server Version : 50725 File…

vxe編輯保存表格

業務需求: 1、需要點擊編輯時,全部表格顯示編輯框,點擊保存,全部保存。 2、因為位置問題,產品經理把24小時分成了兩行,開發就得分兩個表格。列標題是寫死的,文字偏移也是寫死的,其他…

服務器主機安全的重要性及防護策略

在數字化時代,服務器主機安全是任何組織都必須高度重視的問題。無論是大型企業還是小型企業,無論是政府機構還是個人用戶,都需要確保其服務器主機的安全,以防止數據泄露、網絡攻擊和系統癱瘓等嚴重后果。 一、服務器主機安全的重…

__int128類型movaps指令crash

結論 在使用__int128時,如果__int128類型的內存起始地址不是按16字節對齊的話,有些匯編指令會拋出SIGSEGV使程序crash。 malloc在64位系統中申請的內存地址,是按16字節對齊的,但一般使用時經常會申請一塊內存自己切割使用&#…

Qt的一個無邊界窗口公共類

頭文件&#xff1a; #pragma once #include <QWidget>class CFrameLessWidgetBase :public QWidget { public:CFrameLessWidgetBase(QWidget* p nullptr);~CFrameLessWidgetBase() {}protected:bool nativeEvent(const QByteArray& eventType, void* message, long…

static和extern

1.extern extern 是?來聲明外部符號的&#xff0c;如果?個全局的符號在A?件中定義的&#xff0c;在B?件中想使?&#xff0c;就可以使? extern 進?聲明&#xff0c;然后使?。 即在一個源文件中想要使用另一個源文件&#xff0c;即可通過這個extern來聲明使用。 2.st…

未來制造業的新引擎:工業機器人控制解決方案

制造業正經歷著一場革命性的變革 在這個變革的浪潮中&#xff0c;工業機器人成為推動制造業高效生產的關鍵力量。然而&#xff0c;要發揮機器人的最大潛力&#xff0c;一個強大而智能的控制系統是必不可少的。在這個領域&#xff0c;新一代的工業機器人控制解決方案正嶄露頭角&…