概述mysql MySQL概述及入門 二

2021-10-20 00:00:52 字數 2953 閱讀 5031

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,...