1、引數檔案:my.cnf
2、日誌檔案,包括錯誤日誌、查詢日誌、慢查詢日誌、二進位制日誌
3、mysql表檔案:用來存放
mysql
表結構的檔案,一般以
.frm
為字尾
4、socket檔案:當用
unix
域套接字方式進行連線時需要的檔案
5、pid檔案:
mysql
例項的程序
id檔案
6、儲存引擎檔案:每個儲存引擎都有自己的資料夾來儲存各種資料,這些儲存引擎真正儲存了資料和索引等資料。
二、mysql中有哪些型別的日誌檔案?
最常見的有:
1.錯誤日誌 記錄啟動、執行或停止mysqld時出現的問題。
my.ini配置資訊:
#enter a name for the error log file. otherwise a default name will be used.
#log-error=d:/mysql_log_err.txt
2.查詢日誌 記錄建立的客戶端連線和執行的語句。
my.ini配置資訊:
#enter a name for the query log file. otherwise a default name will be used.
#log=d:/mysql_log.txt
3.更新日誌 記錄更改資料的語句。不贊成使用該日誌。
my.ini配置資訊:
#enter a name for the update log file. otherwise a default name will be used.
#log-update=d:/mysql_log_update.txt
4.二進位制日誌 記錄所有更改資料的語句。還用於複製。
my.ini配置資訊:
#enter a name for the binary log. otherwise a default name will be used.
#log-bin=d:/mysql_log_bin
5.慢日誌 記錄所有執行時間超過long_query_time秒的所有查詢或不使用索引的查詢。
my.ini配置資訊:
#enter a name for the slow query log file. otherwise a default name will be used.
#long_query_time =1
#log-slow-queries= d:/mysql_log_slow.txt
三、說說binlog、redolog的區別?
1.binlog會記錄所有與mysql有關的記錄,包括innodb、myisam等其他儲存引擎的日誌。四、說說innodb的雙寫緩衝快取機制(doublewrite buffer)?而innodb儲存引擎的redo log只記錄有關該儲存引擎本身的事務日誌。
2.binlog記錄的是乙個事務的具體操作內容,即該日誌是邏輯日誌。
而redo log記錄的是每個頁(page)的物理更改情況。
3.binlog僅在事務提交前進行提交,即只寫磁碟一次,不論這時該事務多大。
而在事務的進行的過程中,卻不斷有重做日誌條目(redo entry)被寫入redo log中。
1.double write 究竟是什麼?double write 是開闢在tablespace上的一塊連續的空間,注意是連續的,所以他對效能的影響並不大。它是當mysql 需要把資料緩衝buffer pool 中將資料重新整理到page時 ,需要先將資料fsync到double write 中,然後在需要的時候在將資料重新整理到磁碟上的data file。需要注意的是double write 是表空間的一部分page,是物理上存在的,所以斷電後任然存在。
2.在資料寫失敗時會有一下2種情況,doublewrite機制可以提高資料的安全性,解決部分寫問題。
-如果是寫doublewrite buffer本身失敗,那麼這些資料不會被寫到磁碟,innodb此時會從磁碟載入原始的資料,然後通過innodb的事務日誌來計算出正確的資料,重新 寫入到doublewrite buffer
-如果 doublewrite buffer寫成功的話,但是寫磁碟失敗,innodb就不用通過事務日誌來計算了,而是直接用double write buffer的資料再寫一遍.
-在恢復的時候,innodb直接比較頁面的checksum,如果不對的話,就從硬碟載入原始資料,再由事務日誌 開始推演出正確的資料.所以innodb的恢復通常需要較長的時間.
mysql 不用怕面試題 MySQL 面試題
資料庫事務的四個特性及含義原子性 atomicity 一致性 correspondence 隔離性 isolation 永續性 durability 原子性 整個事務中的所有操作,要麼全部完成,要麼全部不完成。事務在執行過程中發生錯誤,會被回滾 rollback 到事務開始前的狀態,就像這個事務從來...
mysql資料結構面試題 MySQL 面試題
mysql 的一些面試題,有的是平時聊到的,有的是聽別人說的,有的是工作中遇到的,特此彙總一下,有問有答。一條 sql 查詢語句執行流程?1 聯結器。客戶端和伺服器 tcp 握手後,驗證使用者名稱密碼。使用者名稱密碼通過後,聯結器會到許可權表中查詢你擁有的許可權。之後這個連線裡面的許可權判斷邏輯,都...
mysql常規面試題
求職路不易,希望能給你們幫助,給個贊吧!查詢各班級各科成績總和 2.查詢每個班級語文成績大於85分人數人數 select class no,count st no 人數 from class where st no in 查詢語文成績大於數學成績的姓名和歸宿班級 select st name,st ...