欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql日志系統(tǒng)的簡(jiǎn)單使用教程

 更新時(shí)間:2021年03月02日 09:21:25   作者:pedro7  
這篇文章主要給大家介紹了關(guān)于mysql日志系統(tǒng)的簡(jiǎn)單使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),屬于 Oracle 旗下產(chǎn)品。MySQL 是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,在 WEB 應(yīng)用方面,MySQL是最好的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)) 應(yīng)用軟件之一。

在任何一種數(shù)據(jù)庫(kù)中,都會(huì)有各種各樣的日志,記錄著數(shù)據(jù)庫(kù)工作的方方面面,以幫助數(shù)據(jù)庫(kù)管理員追蹤數(shù)據(jù)庫(kù)曾 經(jīng)發(fā)生過的各種事件。
在 MySQL 中,有 4 種不同的日志,分別是

  • 錯(cuò)誤日志
  • 二進(jìn)制日志 (BINLOG 日志)
  • 查詢?nèi)罩?/li>
  • 慢查詢?nèi)罩?/li>

這些日志記錄著數(shù)據(jù)庫(kù)在不同方面的蹤跡,學(xué)會(huì)使用mysql日志對(duì)我們使用和維護(hù)數(shù)據(jù)庫(kù)有很大幫助。

一、錯(cuò)誤日志

錯(cuò)誤日志是 MySQL 中最重要的日志之一,它記錄了當(dāng) mysqld 啟動(dòng)和停止時(shí),以及服務(wù)器在運(yùn)行過程中發(fā)生任何嚴(yán)重錯(cuò)誤時(shí)的相關(guān)信息。當(dāng)數(shù)據(jù)庫(kù)出現(xiàn)任何故障導(dǎo)致無法正常使用時(shí),可以首先查看此日志。
該日志是默認(rèn)開啟的 , 默認(rèn)存放目錄為 mysql 的數(shù)據(jù)目錄(var/lib/mysql), 默認(rèn)的日志文件名為 hostname.err(hostname是主機(jī)名)。

1、查看日志位置

show variables like 'log_error%';

2、查看日志內(nèi)容

tail -f /var/lib/mysql/xxx.err

二、二進(jìn)制日志

二進(jìn)制日志(BINLOG)記錄了所有的 DDL(數(shù)據(jù)定義語(yǔ)言)語(yǔ)句和 DML(數(shù)據(jù)操縱語(yǔ)言)語(yǔ)句,但是不包括數(shù)據(jù)查詢語(yǔ)句。此日志對(duì)于災(zāi)難時(shí)的數(shù)據(jù)恢復(fù)起著極其重要的作用,MySQL的主從復(fù)制, 就是通過該binlog實(shí)現(xiàn)的。

1、開啟二進(jìn)制日志

二進(jìn)制日志,默認(rèn)情況下是沒有開啟的,需要到MySQL的配置文件中開啟,并配置MySQL日志的格式。

  • 配置文件位置 : /etc/my.cnf
  • 日志存放位置 : 配置時(shí),給定了文件名但是沒有指定路徑,日志默認(rèn)寫入Mysql的數(shù)據(jù)目錄。
#配置開啟binlog日志, 日志的文件前綴為 mysqlbin -----> 生成的文件名如 : mysqlbin.000001,mysqlbin.000002 
log_bin=mysqlbin
 
#配置二進(jìn)制日志的格式 
binlog_format=STATEMENT

2、二進(jìn)制日志格式

(1)STATEMENT

該日志格式在日志文件中記錄的都是SQL語(yǔ)句(statement),每一條對(duì)數(shù)據(jù)進(jìn)行修改的SQL都會(huì)記錄在日志文件中,通過Mysql提供的mysqlbinlog工具,可以清晰的查看到每條語(yǔ)句的文本。主從復(fù)制的時(shí)候,從庫(kù)(slave)會(huì)將日志解析為原文本,并在從庫(kù)重新執(zhí)行一次。

(2)ROW

該日志格式在日志文件中記錄的是每一行的數(shù)據(jù)變更,而不是記錄SQL語(yǔ)句。比如,執(zhí)行SQL語(yǔ)句 :update tb_book set status='1' , 如果是STATEMENT 日志格式,在日志中會(huì)記錄一行SQL文件; 如果是ROW,由于是對(duì)全表進(jìn)行更新,也就是每一行記錄都會(huì)發(fā)生變更,ROW 格式的日志中會(huì)記錄每一行的數(shù)據(jù)變更。

(3)MIXED

這是目前MySQL默認(rèn)的日志格式,即混合了STATEMENT 和 ROW兩種格式。默認(rèn)情況下采用STATEMENT,但是在一些特殊情況下采用ROW來進(jìn)行記錄。MIXED 格式能盡量利用兩種模式的優(yōu)點(diǎn),而避開他們的缺點(diǎn)。

3、日志讀取

由于日志以二進(jìn)制方式存儲(chǔ),不能直接讀取,需要用mysqlbinlog工具來查看,語(yǔ)法如下

mysqlbinlog log-file; 

4、查看STATEMENT格式日志

(1)執(zhí)行插入語(yǔ)句

insert into tb_book values(null,'Lucene','2088-05-01','0');

(2)在mysql數(shù)據(jù)文件目錄找到二進(jìn)制文件

mysqlbin.index是日志索引文件,記錄日志的文件名。mysql-bin.000001是日志文件

(3)查看日志文件


5、查看ROW格式日志

(1)在配置文件中進(jìn)行配置

#配置開啟binlog日志, 日志的文件前綴為 mysqlbin -----> 生成的文件名如 : mysqlbin.000001,mysqlbin.000002 
log_bin=mysqlbin
 
#配置二進(jìn)制日志的格式 
binlog_format=ROW 

注:每次修改配置文件都記得重啟mysql服務(wù)

service mysql restart

(2)插入數(shù)據(jù)

如果日志格式是ROW,直接查看數(shù)據(jù)是看不懂的,可以在mysqlbinlog后面加上參數(shù)-vv使用--no-defaults參數(shù)可以避免字符集帶來的影響

6、

6、日志刪除

對(duì)于比較繁忙的系統(tǒng),由于每天生成日志量大 ,這些日志如果長(zhǎng)時(shí)間不清楚,將會(huì)占用大量的磁盤空間。下面講解幾種刪除日志的常見方法

(1)方法一

通過 Reset Master 指令刪除全部 binlog 日志,刪除之后,日志編號(hào),將從 xxxx.000001重新開始 。

刪除之前 ,先查詢下日志文件 :

執(zhí)行刪除日志指令

Reset Master

再查詢一下

最后剩下的000001是一個(gè)空的配置文件

(2)方法二

purge master logs to 'mysqlbin.******

該命令將刪除******編號(hào)之前的所有日志

(3)方法三

purge master logs vefore 'yyyy-mm-dd hh24:mi:ss'

該命令將刪除yyyy-mm-dd hh24:mi:ss之前產(chǎn)生的所有日志

(4)方法四

設(shè)置參數(shù) expire_logs_days=#,此參數(shù)的含義是設(shè)置日志的過期天數(shù),過了指定的天數(shù)后日志將被自動(dòng)刪除,這樣有利于減少DBA管理日志的工作量

三、查詢?nèi)罩?/h2>

查詢?nèi)罩局杏涗浟丝蛻舳说乃胁僮髡Z(yǔ)句,而二進(jìn)制日志不包含查詢數(shù)據(jù)的SQL語(yǔ)句。

默認(rèn)情況下, 查詢?nèi)罩臼俏撮_啟的。如果需要開啟查詢?nèi)罩荆梢栽O(shè)置以下配置

#該選項(xiàng)用來開啟查詢?nèi)罩?, 可選值 : 0 或者 1 ; 0 代表關(guān)閉, 1 代表開啟 
general_log=1
 
#設(shè)置日志的文件名 , 如果沒有指定, 默認(rèn)的文件名為 host_name.log 
general_log_file=file_name 

1、開啟查詢?nèi)罩?/h3>

2、執(zhí)行一組操作

3、查看查詢?nèi)罩?/h3>

四、慢查詢?nèi)罩?/h2>

慢查詢?nèi)罩居涗浟怂袌?zhí)行時(shí)間超過參數(shù) long_query_time 設(shè)置值并且掃描記錄數(shù)不小于min_examined_row_limit 的所有的SQL語(yǔ)句的日志。long_query_time 默認(rèn)為 10 秒,最小為 0, 精度可以到微秒。

1、文件位置和格式

慢查詢?nèi)罩灸J(rèn)是關(guān)閉的 ??梢酝ㄟ^兩個(gè)參數(shù)來控制慢查詢?nèi)罩?/p>

# 該參數(shù)用來控制慢查詢?nèi)罩臼欠耖_啟, 可取值: 1 和 0 , 1 代表開啟, 0 代表關(guān)閉 
slow_query_log=1 
 
# 該參數(shù)用來指定慢查詢?nèi)罩镜奈募?
slow_query_log_file=slow_query.log
 
# 該選項(xiàng)用來配置查詢的時(shí)間限制, 超過這個(gè)時(shí)間將認(rèn)為值慢查詢, 將需要進(jìn)行日志記錄, 默認(rèn)10s 
long_query_time=10

一般設(shè)置成2s左右就可以了,在我的實(shí)驗(yàn)中,為了完成慢查詢,我設(shè)置成了0.5s

在mysql客戶端下可以查詢到當(dāng)前的long_query_time

2、執(zhí)行查詢操作

(1)查詢之前先看一眼慢查詢?nèi)罩?/p>

(2)執(zhí)行一個(gè)比較快的查詢動(dòng)作

(3)執(zhí)行一個(gè)慢的查詢動(dòng)作

如果慢查詢?nèi)罩緝?nèi)容很多, 直接查看文件,比較麻煩, 這個(gè)時(shí)候可以借助于mysql自帶的 mysqldumpslow 工具, 來對(duì)慢查詢?nèi)罩具M(jìn)行分類匯總。

由于這里只有一條慢查詢記錄,沒有體現(xiàn)出mysqldumpslow的作用,但如果慢查詢記錄多,就可以分類匯總

總結(jié)

到此這篇關(guān)于mysql日志系統(tǒng)的簡(jiǎn)單使用教程的文章就介紹到這了,更多相關(guān)mysql日志系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL 視圖(View)原理解析

    MySQL 視圖(View)原理解析

    本篇重點(diǎn)講述視圖是如何實(shí)現(xiàn)的,以及視圖如何和查詢優(yōu)化器交互,從而我們可以根據(jù)這些知識(shí)了解如何通過視圖提高性能。
    2021-05-05
  • Mysql中如何查看執(zhí)行計(jì)劃

    Mysql中如何查看執(zhí)行計(jì)劃

    這篇文章主要介紹了Mysql中如何查看執(zhí)行計(jì)劃,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Win10安裝mysql8.0.15 winx64及連接服務(wù)器過程中遇到的問題

    Win10安裝mysql8.0.15 winx64及連接服務(wù)器過程中遇到的問題

    這篇文章主要介紹了Win10安裝mysql8.0.15 winx64及連接服務(wù)器過程中遇到的問題,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • mysql查詢語(yǔ)句join、on、where的執(zhí)行順序

    mysql查詢語(yǔ)句join、on、where的執(zhí)行順序

    這篇文章主要介紹了mysql查詢語(yǔ)句join、on、where的執(zhí)行順序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • mysql中如何查看表是否被鎖問題

    mysql中如何查看表是否被鎖問題

    這篇文章主要介紹了mysql中如何查看表是否被鎖問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • MySQL報(bào)錯(cuò)1118,數(shù)據(jù)類型長(zhǎng)度過長(zhǎng)問題及解決

    MySQL報(bào)錯(cuò)1118,數(shù)據(jù)類型長(zhǎng)度過長(zhǎng)問題及解決

    在使用MySQL過程中,常見的一個(gè)問題是報(bào)錯(cuò)1118,這通常發(fā)生在創(chuàng)建表時(shí),錯(cuò)誤提示為“Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual
    2024-10-10
  • MySQL系列連載之XtraBackup?備份原理解析

    MySQL系列連載之XtraBackup?備份原理解析

    關(guān)于mysql的備份和恢復(fù),比較傳統(tǒng)的是用mysqldump工具,今天本文推薦另一個(gè)備份工具innobackupex,重點(diǎn)給大家介紹XtraBackup?備份的相關(guān)知識(shí),感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • mysql查找配置文件位置的兩種方法

    mysql查找配置文件位置的兩種方法

    想去查看windows系統(tǒng)下,MySQL數(shù)據(jù)庫(kù)的配置文件,由于距離上一次查看時(shí)間太久,每次查看都要找很久在什么位置,所以本文給大家介紹了mysql查找配置文件位置的兩種方法,需要的朋友可以參考下
    2024-09-09
  • 深入理解?MySQL?索引底層原理

    深入理解?MySQL?索引底層原理

    這篇文章主要介紹了深入理解?MySQL?索引底層原理的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • MySQL 相關(guān)的環(huán)境變量

    MySQL 相關(guān)的環(huán)境變量

    所有使用mysqlclient客戶庫(kù)與服務(wù)器通信的MySQL客戶使用下列環(huán)境變量
    2009-06-06

最新評(píng)論