step1 mysql物理結構
step2 日誌檔案
檢視日誌開啟情況
mysql> show variables like 'log_%';
1.errorlog 錯誤日誌
錯誤日誌記錄了執行過程中遇到的所有嚴重的錯誤資訊,以及 mysql每次啟動和關閉的詳細資訊,預設是開啟的,而且從5.5.7以後無法關閉錯誤日誌。
2.bin log 二進位制日誌
記錄資料變化,binlog記錄了資料庫所有的ddl語句和dml語句,但不包括select語句內容,語句以事件的形式儲存,描述了資料的變更順序,binlog還包括了每個更新語句的執行時間資訊;如果是ddl語句,則直接記錄到binlog日誌,而dml語句,必須通過事務提交才能記錄到binlog日誌中。
配置my.cnf開啟:mysql-bin是日誌的字首
#bin-log
log-bin=mysql-bin
配置完成後重啟mysql就會出現mysql-bin.000001檔案,每次重啟mysql都會出現乙個mysql-bin.******的檔案;
注:生產環境中非常有必要開啟,資料備份、恢復、主從都應用;
3.general query log 通用查詢日誌
全面記錄crud日誌,非常耗費效能,所以生產環境不開啟;
#general query log
#general_log=on
#general_log_file=/var/lib/mysql/gen-log.log
4.slow query log 慢查詢日誌(重要)
針對sql調優的日誌,記錄並定位消耗資源高的select(執行慢);預設是關閉狀態,需要通過設定my.cnf進行開啟;
#開啟慢查詢日誌
slow_query_log=on
#慢查詢的閾值(單位為秒)
long_query_time=3
#日誌記錄檔案如果沒有給出file_name值, 預設為主機名,字尾為-slow.log。如果給出了檔名,但不
是絕對路徑名,檔案則寫入資料目錄。
slow_query_log_file=file_name
記錄執行時間超過long_query_time秒的所有查詢,便於收集查詢時間比較長的sql語句。
5.redo log 重做日誌
mysql自己生成,ib_logfile0及ib_logfile1;
6.undo log 回滾日誌
mysql自己生成,ibdata1中(資料共享區);
7.relay log 中繼日誌
配置主從過程中,從庫生成的日誌;
step3 資料檔案
檢視資料檔案
mysql> show variables like '%datadir%';
1.innodb資料檔案
.ibd:使用獨享表空間儲存表資料和索引資訊,一張表對應乙個ibd檔案;
ibdata檔案:使用共享表空間儲存表資料和索引資訊,所有表共同使用乙個或者多個ibdata檔案。
2.myisam資料檔案
很少使用,如果需要應用myisam引擎可以用redis替代;
.myd檔案:主要用來儲存表資料資訊;
.myi檔案:主要用來儲存表資料檔案中任何索引的資料樹。
002 MySQL開啟遠端連線
預設mysql的使用者是沒有遠端訪問的許可權的。主流的有兩種方法 改表法 授權法 1.登入mysql mysql u root p2.修改mysql庫的user表,將host項改為 這裡表示的是允許任意host訪問 如果只允許某乙個ip訪問,那麼改為相應的ip,比如改為192.168.10.13,表...
002 MySQL程式 工具概述
十年運維系列之基礎篇 mysql 聯絡 1494445739 qq.com www.jplatformx.com 一 引言 要特別注意mysql和mysqld的區別。mysql是mysqld資料庫伺服器程序的客戶端連線程式,而mysqld指的是資料庫伺服器。可以跟我們日常開發的web系統來做乙個模擬...
mysql 物理結構 mysql物理結構
mysql是通過檔案系統對資料和索引進行儲存的。mysql從物理結構上可以分為日誌檔案和資料索引檔案。mysql在linux中的資料索引檔案和日誌檔案都在 var lib mysql目錄下。日誌檔案採用順序io方式儲存 資料檔案採用隨機io方式儲存。首先可以檢視mysql的檔案在linux中的那個目...