mysql外掛程式式 MySQL外掛程式式儲存引擎(下)

2021-10-20 23:12:06 字數 1957 閱讀 9508

在mysql 5.1中,mysql ab引入了新的外掛程式式儲存引擎體系結構,允許將儲存引擎載入到正在執行的mysql伺服器中。

使用mysql外掛程式式儲存引擎體系結構,允許資料庫使用者為特定的應用需求選擇專門的儲存引擎,完全不需要管理任何特殊的應用編碼要求。採用mysql伺服器體系結構,由於在儲存級別上提供了一致和簡單的應用模型和api,應用程式程式設計人員和dba可不再考慮所有的底層實施細節。因此,儘管不同的儲存引擎具有不同的能力,應用程式是與之分離的。

mysql外掛程式式儲存引擎的體系結構

外掛程式式儲存引擎體系結構提供了標準的管理和支援服務集合,它們對所有的基本儲存引擎來說是共同的。儲存引擎本身是資料庫伺服器的元件,負責對在物理伺服器層面上維護的基本資料進行實際操作。

應用程式程式設計人員和dba通過位於儲存引擎之上的聯結器api和服務層來處理mysql資料庫。如果應用程式的變化需要改變底層儲存引擎,或需要增加1個或多個額外的儲存引擎以支援新的需求,不需要進行大的編碼或程序更改就能實現這類要求。mysql伺服器體系結構提供了一致和易於使用的api,這類api適用於多種儲存引擎,通過該方式,該結構將應用程式與儲存引擎的底層複雜性隔離開來。

常用儲存引擎簡述myisam:預設的mysql外掛程式式儲存引擎,它是在web、資料倉儲和其他應用環境下最常使用的儲存引擎之一。注意,通過更改storage_engine配置變數,能夠方便地更改mysql伺服器的預設儲存引擎。

innodb:用於事務處理應用程式,具有眾多特性,包括acid事務支援。

bdb:可替代innodb的事務引擎,支援commit、rollback和其他事務特性。

memory:將所有資料儲存在ram中,在需要快速查詢引用和其他類似資料的環境下,可提供極快的訪問。

merge:允許mysql dba或開發人員將一系列等同的myisam表以邏輯方式組合在一起,並作為1個物件引用它們。對於諸如資料倉儲等vldb環境十分適合。

archive:為大量很少引用的歷史、歸檔、或安全審計資訊的儲存和檢索提供了完美的解決方案

cluster/ndb:mysql的簇式資料庫引擎,尤其適合於具有高效能查詢要求的應用程式,這類查詢需求還要求具有最高的正常工作時間和可用性。

csv : 引用由逗號隔開的用作資料庫表的檔案。

blackhole:用於臨時禁止對資料庫的應用程式輸入。

對於整個伺服器或方案,並不一定要使用相同的儲存引擎,你可以為方案中的每個表使用不同的儲存引擎。

可以在建立新錶時指定儲存引擎,或通過使用alter table語句指定儲存引擎。

要想在建立表時指定儲存引擎,可使用engine引數:create table tablename(

id int,

) engine = myisam;

要想更改已有表的儲存引擎,可使用alter table語句:alter table tablename engine = archive;

插入儲存引擎

能夠使用儲存引擎之前,必須使用install plugin語句將儲存引擎plugin(外掛程式)裝載到mysql。例如,要想載入example引擎,首先應載入ha_example.so模組:install plugin ha_example soname 'ha_example.so';

為了安裝外掛程式式儲存引擎,檔案.so必須位於mysql伺服器庫目錄下的plugin檔案下,plugin檔案必須位於恰當的mysql庫目錄下,而且發出install plugin語句的使用者必須具有super許可權。

可用show engines;

顯示出所有儲存引擎,support列代表儲存引擎的使用狀態

default 表示該儲存引擎為預設的儲存引擎

yes 表示當前資料庫已安裝該儲存引擎

no 表示當前資料庫未安裝該儲存引擎

disable 表示該儲存引擎被禁用

拔出儲存引擎

要想拔出儲存引擎,可使用uninstall plugin語句:uninstall plugin ha_example;

如果拔出了正被已有表使用的儲存引擎,這些表將成為不可訪問的。

mysql 審計外掛程式 MySQL審計外掛程式使用

or詳細的配置可以參考官方文件 解壓檔案 unzip audit plugin mysql 5.7 1.1.7 805 linux x86 64.zip 將安裝包libaudit plugin.so檔案複製到 plugin dir目錄 root localhost 10 07 none show g...

MySQL外掛程式 HandlerSocket應用

前段時間偶然的機會了解到handlersocket,並在自己的乙個demo中得以應用,在此做下總結。一 handlersocket是什麼?handlersocket是akira higuchi 寫的乙個mysql的外掛程式。以mysql daemon plugin的形式提供類似nosql的網路服務,...

mysql審計外掛程式設定

1 create database auditdb use auditdb 2 create table accesslog id int primary key auto increment,connectionid int,connuser varchar 30 matchuser varcha...