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...