mysql物理id mysql物理結構

2021-10-19 04:40:27 字數 1362 閱讀 2374

mysql是通過檔案系統對資料和索引進行儲存的。

mysql從物理結構上可以分為日誌檔案和資料索引檔案。

mysql在linux中的資料索引檔案和日誌檔案都在/var/lib/mysql目錄下。

日誌檔案採用順序io方式儲存、資料檔案採用隨機io方式儲存。

首先可以檢視mysql的檔案在linux中的那個目錄中,使用命令:show variables like '%datadir%';

紅色框中就是我的檔案目錄,進入到目錄中能檢視資料庫檔案。

資料檔案

innodb資料檔案

.ibd:使用獨享表空間儲存表資料和索引資訊,一張表對應乙個ibd檔案。

.ibdata檔案:使用共享表空間儲存表資料和索引資訊,所有表共同使用乙個或者多個ibdata檔案。

myisam資料檔案

.myd檔案:主要用來儲存表資料資訊。

.myi檔案:主要用來儲存表資料檔案中任何索引的資料樹。

日誌檔案

日誌檔案包含:錯誤日誌(errorlog)、二進位制日誌(bin log)、通用查詢日誌(general query log)、慢查詢日誌(slow query log)、

重做日誌(redo log)、回滾日誌(undo log)、中繼日誌(relay log)

錯誤日誌 :預設是開啟的,而且從5.5.7以後無法關閉錯誤日誌,錯誤日誌記錄了執行過程中遇到的所有

嚴重的錯誤資訊,以及 mysql每次啟動和關閉的詳細資訊。

二進位制日誌:binlog記錄了資料庫所有的ddl語句和dml語句,但不包括select語句內容,語句以事件的形

式儲存,描述了資料的變更順序,binlog還包括了每個更新語句的執行時間資訊。如果是

ddl語句,則直接記錄到binlog日誌,而dml語句,必須通過事務提交才能記錄到binlog

日誌中。 生產中開啟

資料備份、恢復、主從

通用查詢日誌:記錄所有的內容 耗效能 生產中不開啟

慢日誌查詢: sql調優,定位select比較慢的語句 預設是關閉的。

開啟方法:

開啟慢查詢日誌

slow_query_log=on

慢查詢的閾值

long_query_time=3

日誌記錄檔案如果沒有給出file_name值, 預設為主機名,字尾為-slow.log。

如果給出了檔名,

但不是絕對路徑名,檔案則寫入資料目錄。

slow_query_log_file=file_name

記錄執行時間超過long_query_time秒的所有查詢,便於收集查詢時間比較長的sql語句

mysql 簡介 id MySQL日誌簡介

mysql中的日誌主要分為以下幾種 查詢日誌 慢查詢日誌 錯誤日誌 二進位制日誌 中繼日誌 事務日誌 說明 支援本文實驗使用的linux系統是centos7版本,使用的資料庫是base源自帶的mariadb,資料庫使用的儲存引擎使用預設的innodb 1 查詢日誌 記錄查詢語句 日誌儲存位置 日誌的...

mysql 多個 Id MySQL查詢多個ID

從您的問題來看,我相信您當前的表結構如下 table user table project table shared id email id user id content id user id project id 1 james website.com 1 1 project for james...

mysql 排序id mysql怎麼按特定id排序

mysql如何按特定id排序 mysql如何按特定id排序 set foreign key checks 0 table structure for p drop table if exists p create table p id int 11 not null auto increment,n...