作為php開發,使用mysql總是少不了的
系列文章博客鏈接 http://itsong.net/articles/466.html
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存儲引擎的事務日志 每個文件寫到文件最後時,切換至另一個日志文件去寫,為了得到更高的可靠性,可以設置多個鏡像日志組