<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
MySQL中存在著以下幾種紀錄檔:重寫紀錄檔(redo log)、回滾紀錄檔(undo log)、二進位制紀錄檔(bin log)、錯誤紀錄檔(error log)、慢查詢紀錄檔(slow query log)、一般查詢紀錄檔(general log)。
MySQL中的資料變化會體現在上面這些紀錄檔中,比如事務操作會體現在redo log、undo log以及bin log中,資料的增刪改查會體現在 binlog 中。本章是對MySQL紀錄檔檔案的概念及基本使用介紹,不涉及底層內容。針對開發人員而言,這幾種紀錄檔中最有可能使用到的是慢查詢紀錄檔。
redo log是一種基於磁碟的資料結構,用來在MySQL宕機情況下將不完整的事務執行資料糾正,redo紀錄檔記錄事務執行後的狀態。
當事務開始後,redo log就開始產生,並且隨著事務的執行不斷寫入redo log file中。redo log file中記錄了xxx頁做了xx修改的資訊,我們都知道資料庫的更新操作會在記憶體中先執行,最後刷入磁碟。
redo log就是為了恢復更新了記憶體但是由於宕機等原因沒有刷入磁碟中的那部分資料。
undo log主要用來回滾到某一個版本,是一種邏輯紀錄檔。undo log記錄的是修改之前的資料,比如:當delete一條記錄時,undolog中會記錄一條對應的insert記錄,從而保證能恢復到資料修改之前。在執行事務回滾的時候,就可以通過undo log中的記錄內容並以此進行回滾。
undo log還可以提供多版本並行控制下的讀取(MVCC)。
MySQL的bin log紀錄檔是用來記錄MySQL中增刪改時的記錄紀錄檔。簡單來講,就是當你的一條sql操作對資料庫中的內容進行了更新,就會增加一條bin log紀錄檔。查詢操作不會記錄到bin log中。bin log最大的用處就是進行主從複製,以及資料庫的恢復。
通過下面的命令可以檢視是否開啟binlog紀錄檔
show VARIABLES like '%log_bin%'
開啟binlog的方式如下:
log-bin=mysql-bin server-id=1 binlog_format=ROW
其中log-bin指定紀錄檔檔案的名稱,預設會放到資料庫目錄下,可通過以下命令檢視
show VARIABLES like '%datadir%'
error log主要記錄MySQL在啟動、關閉或者執行過程中的錯誤資訊,在MySQL的組態檔my.cnf中,可以通過log-error=/var/log/mysqld.log 執行mysql錯誤紀錄檔的位置。
通過MySQL的命令
show variables like "%log_error%";
也可以獲取到錯誤紀錄檔的位置。
慢查詢紀錄檔用來記錄執行時間超過指定閾值的SQL語句,慢查詢紀錄檔往往用於優化生產環境的SQL語句。可以通過以下語句檢視慢查詢紀錄檔是否開啟以及紀錄檔的位置:
show variables like "%slow_query%";
慢查詢紀錄檔的常用設定引數如下:
slow_query_log=1 #是否開啟慢查詢紀錄檔,0關閉,1開啟 slow_query_log_file=/usr/local/mysql/mysql-8.0.20/data/slow-log.log #慢查詢紀錄檔地址(5.6及以上版本) long_query_time=1 #慢查詢紀錄檔閾值,指超過閾值時間的SQL會被記錄 log_queries_not_using_indexes #表示未走索引的SQL也會被記錄
分析慢查詢紀錄檔一般會用專門的紀錄檔分析工具。找出慢SQL後可以通過explain關鍵字進行SQL分析,找出慢的原因。
general log 記錄了使用者端連線資訊以及執行的SQL語句資訊,通過MySQL的命令
show variables like '%general_log%';
可以檢視general log是否開啟以及紀錄檔的位置。
general log 可通過組態檔啟動,設定引數如下:
general_log = on general_log_file = /usr/local/mysql/mysql-8.0.20/data/hecs-78422.log
普通查詢紀錄檔會記錄增刪改查的資訊,因此一般是關閉的。
到此這篇關於淺談MySQL中的六種紀錄檔的文章就介紹到這了,更多相關MySQL 紀錄檔內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45