程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL技術內幕-InnoDB存儲引擎-讀書筆記(二)

MySQL技術內幕-InnoDB存儲引擎-讀書筆記(二)

編輯:MySQL綜合教程

MySQL技術內幕-InnoDB存儲引擎-讀書筆記(二)


MySQL技術內幕-InnoDB存儲引擎-讀書筆記(二)

作為php開發,使用mysql總是少不了的

mysql
系列文章博客鏈接 http://itsong.net/articles/466.html

第三章 文件

mysql與innodb幾個類型的文件

參數文件,配置路徑、初始化參數、內存大小等 日志文件,包括錯誤日志,二進制日志,慢查詢日志,查詢日志 socket文件,用unix域套接字,unix domain socket來進行連接時需要的文件,這一般是本機連接,比通常tcp快 pid文件,進程id文件 表結構文件,存放表結構定義的文件 存儲引擎文件,每個存儲引擎自己搞文件保存數據,包括數據和索引等。
*

參數文件

musql --help | grep my.cnf可以尋找加載哪些參數文件 靜態參數,整個實例生命周期不得更改,類似只讀。 動態參數,可以通過set命令進行更改
SET
| [global | session] system_var_name = expr
| [@@global. | @@session. | @@]system_var_name = expr
global與session表示該參數的修改基於當前會話還是整個實例的生命周期。

日志文件

錯誤日志,show variables like 'log_error'定位錯誤日志,默認情況下,文件名為服務器主機名.err 慢查詢日志,阈值通過 long_query_time 修改,默認值10秒(含義是大於10,不包括10),默認不啟動慢查詢日志,要將 log_slow_queries 設為ON,mysqldumpslow可以解決日志過多難以解決的問題 從5.1開始,慢查詢可以以微秒記錄。並且慢查詢會進表,叫mysql.slow_log,通過log_output(FILE | TABLE)指定 log_queries_not_using_indexes,記錄沒有使用索引的慢查詢日志文件 查詢日志,默認文件名為主機名.log,也可以進表,general_log 二進制日志,記錄對數據庫執行更改的所有操作,不包括SELECT和SHOW這類操作。包括操作時間和執行時間等信息。主要用來恢復、復制(master,slave實時同步) 二進制日志所在目錄show variables like 'datadir',默認文件名為主機名,後綴為序列號,bin_log.index為二進制的索引文件,存儲日志序號 默認二進制日志未開啟,開啟binlog性能下降1%,但是可以接受的 查看binlog要使用mysqlbinlog,binlog還有很多操作,不過這裡我不太關心啦

其他

套接字文件,一般再/tmp下,mysql.sock pid文件,主機名.pid,variables 為 pid_file 表結構定義文件,frm後綴名的文件,記錄的表結構定義以及視圖定義,文本文件,可以直接cat

innodb存儲引擎文件

存儲的數據按表空間進行存放,默認會有一個初始化大小為10MB,名為ibdata1的文件,默認表空間。 設置innodb_data_file_path參數後,innodb存儲引擎的表的數據都會記錄到該文件內。 設置innodb_file_per_table,每個基於innodb存儲引擎的表單獨產生一個表空間,文件名為表名.ibd,就不會進入默認表空間。 這些單獨的表空間文件僅存儲該表的數據,索引和插入緩沖等信息,其余信息還是存放在默認的表空間。

重做日志文件

ib_logfile0和ib_logfile1,記錄了innodb存儲引擎的事務日志 每個文件寫到文件最後時,切換至另一個日志文件去寫,為了得到更高的可靠性,可以設置多個鏡像日志組

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved