mysql元件:
1、連線池:用於分配給使用者連線資料庫
2、sql介面:將sql語句傳遞給mysl服務
3、管理單元:mysql自己提供的管理命令
4、分析器:用於分析語法以及確認使用者許可權
5、優化器:對sql進行優化,從而節省資源
6、儲存引擎:不同的儲存引擎提供不同的功能以及不同的儲存方式
7、檔案系統:mysql物理儲存
檢視儲存引擎資訊:(不同的mysql版本,預設的儲存引擎可能不同)
mysql> show engines; #檢視當前資料庫支援的儲存引擎
mysql> show variables like "%verison%" #檢視mysql版本
mysql> show create table a; #檢視表a的建立資訊,包括儲存引擎
配置儲存引擎:
1、修改伺服器儲存引擎:
mysql> set default_storage_engine=myisam; #通過命令列修改,臨時有效
vim /etc/my.cnf #修改配置檔案,永久有效
[mysqld]
...default_storage_engine=myisam #修改儲存引擎為myisam,預設是的innodb
2、建立表時指定表的儲存引擎:
create table db1.table1(
id int,
name char(10)
) engine = innodb; #指定db1下的table1表的儲存引擎為innodb
3、修改表的儲存引擎:
alter table db1.table1 engine = myisam
目前常用儲存引擎myisam和innodb的比較:
myisam:
支援表級鎖,不支援事務,不支援外來鍵
表檔案:
.frm表結構
.myi索引
.myd資料
innodb:
支援行級鎖,支援事務,支援外來鍵
表檔案:
.frm表結構
.ibd資料
事務日誌:
ibdata,ib_logfile
mysql鎖機制:
粒度:
表級鎖:對整個表進行加鎖
行級鎖:僅對訪問的行進行加鎖
型別: 讀鎖(共享鎖):支援讀併發,可以多個執行緒讀,在讀的同時不能寫
寫鎖(互斥鎖):上鎖期間其他執行緒不能讀寫
檢視當前鎖狀態:
show status like "%table_lock%"
事務特性:
a-原子性:乙個操作的整體,要麼全部成功,要麼全部失敗
c-一致性:事務之前所有使用者看到的資料是一致的,事務之後所有使用者看到的資料也是一致的
i-隔離性:事務的操作是相互隔離、互不影響的
d-永續性:一旦事務提交,永久改變表中資料
寫總結的第四十五天!!! mysql儲存引擎 mysql儲存引擎簡介
精品推薦 什麼是儲存引擎 mysql儲存引擎是資料庫如何儲存資料 怎樣建立索引以及如何查詢更新資料等技術的實現方法,資料通過使用不同的技術儲存在檔案中,使用不同的儲存機制 索引方式來提供不同的功能。在mysql這種關係型資料中心來說,資料是以表的方式來儲存的,因此,簡單點來說,儲存引擎就是儲存和操作...
mysql個儲存引擎 MySQL儲存引擎
mysql資料庫的體系架構如下圖所示 從上圖中可以看出,mysql主要分為以下幾個元件 連線池元件 管理服務和工具元件 sql介面元件 分析器元件 優化器元件 緩衝元件 外掛程式式儲存引擎 物理檔案 儲存引擎 其實就是指定表如何儲存資料,如何為儲存的資料建立索引以及如何更新 查詢資料等技術實現的方法...
mysql儲存引擎模式 mysql儲存引擎
mysql資料庫的體系架構如下圖所示 從上圖中可以看出,mysql主要分為以下幾個元件 連線池元件 管理服務和工具元件 sql介面元件 分析器元件 優化器元件 緩衝元件 外掛程式式儲存引擎 物理檔案 一 儲存引擎 儲存引擎 其實就是指定 表 如何儲存資料,如何為儲存的資料 建立索引以及 如何更新,查...