mysql概述及入門(二)
mysql架構
邏輯架構圖:
執行流程圖:
mysql的儲存引擎
查詢資料庫支援的儲存引擎
執行: show engines;
多儲存引擎是mysql有別於其他資料庫的一大特性,儲存引擎是針對表的,mysql 5.5之後,預設的儲存引擎由myisam變為innodb。
innodb 引擎:支援auto_increment(自增列),支援外來鍵(foreign key),建立的表的表結構儲存在.frm檔案中,優勢在於提供了良好的事務處理、崩潰修復能力和併發控制。缺點是讀寫效率較差,占用的資料空間相對較大。
myisam 引擎: 曾經是mysql的預設儲存引擎,優勢在於占用空間小,處理速度快。缺點是不支援事務的完整性和併發性。
mysql日誌檔案
日誌重新整理 : mysql> flush logs;
shell> mysqladmin flush-logs
shell> mysqladmin refresh
錯誤日誌 : 預設是開啟的,而且從5.5.7版本以後無法關閉錯誤日誌,它記錄了mariadb/mysql服務啟動和停止的資訊,還記錄了mysqld例項執行過程中發生的錯誤事件資訊。
預設的錯誤日誌名稱:hostname.err , hostname表示當前的主機名
如果不知道錯誤日誌的位置,可以通過 show variableslike 'log_error';來檢視。
錯誤日誌所記錄的資訊是可以通過log-error和log-warnings來定義的,其中log-error是定義是否啟用錯誤日誌的功能和錯誤日誌的儲存位置,log-warnings是定義是否將警告資訊也定義至錯誤日誌中。
二進位制日誌 : 以事件形式記錄的,不是事務日誌(但可能是基於事務來記錄二進位制日誌) 預設是關閉的,需要通過配置:log-bin=mysql-bin進行開啟。
其中mysql-bin是binlog日誌檔案的basename,binlog日誌檔案的名稱:mysql-bin-000001.log
binlog記錄了資料庫所有的ddl語句和dml語句,但不包括select語句內容
binlog還包括了每個更新語句的執行時間資訊,binlog主要作用是用於恢復資料,因此binlog對於s災難恢復和備份恢復來說至關重要。
查詢日誌 : 預設情況下查詢日誌是關閉的。由於查詢日誌會記錄使用者的所有操作,其中還包含增刪查改等資訊,會影響mysql的效能
如若不是為了除錯資料庫的目的建議不要開啟查詢日誌。
慢查詢日誌 :預設關閉的,需要通過設定:slow_query_log=on進行開啟
記錄執行時間超過long_query_time秒的所有查詢,便於收集查詢時間比較長的sql語句
事務日誌(redo log) : innodb特有的日誌 , 也叫redo日誌。
事務日誌包括兩部分:一是記憶體中的日誌緩衝(redo log buffer),該部分日誌是易失性的;二是磁碟上的重做日誌檔案(redo log file),該部分日誌是持久的。
檔名為"ib_logfile0"和「ib_logfile1」,預設存放在表空間所在目錄。 還有乙個日誌檔案叫undo 日誌,預設儲存在ib_data目錄下。
mysql索引
為什麼使用索引 : 1 .使用索引的主要目的是為了優化查詢速度
2.索引可以幫助我們進行排序以避免以避免使用臨時表
3.保證資料的準確性
什麼是索引 : 通俗解釋 索引就像是圖書的目錄,根據目錄中的頁碼快速找到所需內容。
索引的型別:
單列索引:
普通索引:僅加速查詢 最基本的索引,沒有任何限制,允許在定義索引的列中插入重複值和空值 ,是我們大多數情況下使用到的索引。
唯一索引:索引列中的值必須是唯一的,但是允許為空值,
主鍵索引:是一種特殊的唯一索引,不允許有空值。
組合索引: 將幾個列作為一條索引進行檢索,使用組合索引時遵循最左字首集合。
全文索引: 全文索引(fulltext)僅可以適用於myisam引擎的資料表;作用於char、varchar、text資料型別的列。
索引的使用:
建立索引:
create index index_nameon table(column(length))
alter table table_name add index index_name on (column(length))
create unique index index_nameon table(column(length))
create fulltextindex index_nameon table(column(length))
alter table article add index index_titme_time(title(50),time(10))
刪除索引:
drop index_name on healerjean;
alter table users drop index name_index ;
檢視索引:
show index from healerjean;
索引的儲存結構
Keepalived 概述及部署
keepalived 軟體起初是專為lvs 負載均衡軟體設計的,用來管理並監控lvs 集群系統中各個服務節點的狀態,後來又加入了可以實現高可用的vrrp 功能。因此,keepalived除了能夠管理lvs軟體外,還可以作為其他服務 例如 nginx haproxy mysql等 的高可用解決方案軟體...
systemtap概述及例項
systemtap對使用者級和核心級 提供了靜態和動態跟蹤的功能。systemtap採用其他的核心框架做源 靜態探針用tracepoints 動態探針用kprobes 使用者級別的探針用uprobes。這些源也為perf lttng所用。由於 systemtap 執行需要核心的除錯資訊支撐,預設發行...
DOM概述及分類
一 結點 結點是把具有相同屬性的html元素組成.節點分類 父節點 parentnode 子節點 firstchild lastchild childnodes 兄弟節點 nextsibling previoussibling 包含型別 名稱 值。nodetype 分類,元素結點 1,屬性結點 2,...