佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > MySQL修改默認(rèn)存儲引擎的實(shí)現(xiàn)方法

MySQL修改默認(rèn)存儲引擎的實(shí)現(xiàn)方法

熱門標(biāo)簽:鐵路電話系統(tǒng) Linux服務(wù)器 呼叫中心市場需求 AI電銷 服務(wù)外包 網(wǎng)站排名優(yōu)化 百度競價(jià)排名 地方門戶網(wǎng)站

mysql存儲引擎:

MySQL服務(wù)器采用了模塊化風(fēng)格,各部分之間保持相對獨(dú)立,尤其體現(xiàn)在存儲架構(gòu)上。存儲引擎負(fù)責(zé)管理數(shù)據(jù)存儲,以及MySQL的索引管理。通過定義的API,MySQL服務(wù)器能夠與存儲引擎進(jìn)行通信。目前使用最多的是MyISAM和InnoDB。InnoDB被Oracle收購后,MySQL自行開發(fā)的新存儲引擎Falcon將在MySQL6.0版本引進(jìn)。

MyISAM引擎是一種非事務(wù)性的引擎,提供高速存儲和檢索,以及全文搜索能力,適合數(shù)據(jù)倉庫等查詢頻繁的應(yīng)用。MyISAM中,一個(gè)table實(shí)際保存為三個(gè)文件,.frm存儲表定義,.MYD存儲數(shù)據(jù),.MYI存儲索引。

InnoDB則是一種支持事務(wù)的引擎。所以的數(shù)據(jù)存儲在一個(gè)或者多個(gè)數(shù)據(jù)文件中,支持類似于Oracle的鎖機(jī)制。一般在OLTP應(yīng)用中使用較廣泛。如果沒有指定InnoDB配置選項(xiàng),MySQL將在MySQL數(shù)據(jù)目錄下創(chuàng)建一個(gè)名為ibdata1的自動(dòng)擴(kuò)展數(shù)據(jù)文件,以及兩個(gè)名為ib_logfile0和ib_logfile1的日志文件。

創(chuàng)建table時(shí)可以通過engine關(guān)鍵字指定使用的存儲引擎,如果省略則使用系統(tǒng)默認(rèn)的存儲引擎:CREATE TABLE t (i INT) ENGINE = MYISAM;

查看系統(tǒng)中支持的存儲引擎類型:

mysql> show engines;| Engine | Support | Comment || MyISAM | YES | Default engine as of MySQL 3.23 with greatperformance | 

 | MEMORY | YES | Hash based, stored in memory, useful for temporarytables | 

 | InnoDB | DEFAULT | Supports transactions, row-level locking, andforeign keys | 

 | BerkeleyDB | NO | Supports transactions and page-level locking| 

 | BLACKHOLE | NO | /dev/null storage engine (anything you write toit disappears) | 

 | EXAMPLE | NO | Example storage engine | 

 | ARCHIVE | YES | Archive storage engine | 

 | CSV | NO | CSV storage engine | 

 | ndbcluster | NO | Clustered, fault-tolerant, memory-based tables| 

 | FEDERATED | NO | Federated MySQL storage engine | 

 | MRG_MYISAM | YES | Collection of identical MyISAM tables | 

 | ISAM | NO | Obsolete storage engine |12 rows in set (0.00 sec) 

標(biāo)準(zhǔn)安裝程序中只提供部分引擎的支持,如果需要使用其他的存儲引擎,需要使用源代碼加不同的參數(shù)重新編譯。其中DEFAULT表明系統(tǒng)的默認(rèn)存儲引擎,可以通過修改配置參數(shù)來變更:

default-storage-engine=MyISAM

查看某個(gè)存儲引擎的具體信息

mysql> show engine InnoDB status\G;

一般安裝系統(tǒng)默認(rèn)是INNODB

default-storage-engine=INNODB

1.可以在啟動(dòng)數(shù)據(jù)庫服務(wù)器時(shí)在命令行后面加上–default-storage-engine或–default-table-type選項(xiàng)。

2.更靈活的方式是在隨MySQL服務(wù)器發(fā)布同時(shí)提供的MySQL客戶端時(shí)指定使用的存儲引擎。最直接的方式是在創(chuàng)建表時(shí)指定存儲引擎的類型,向下面這樣:

CREATE TABLE mytable (id int, titlechar(20)) ENGINE = INNODB

修改表的存儲引擎:

ALTER TABLE engineTest ENGINE = INNODB;

修改默認(rèn)存儲引擎:

在mysql配置文件(linux下為/etc/my.cnf),在mysqld后面增加default-storage-engine=INNODB即可。

但是如果表建立的時(shí)候是MyISAM,要更改整個(gè)數(shù)據(jù)庫表的存儲引擎,一般要一個(gè)表一個(gè)表的修改,比較繁瑣,可以采用先把數(shù)據(jù)庫導(dǎo)出,得到SQL,把MyISAM修改成INNODB,再導(dǎo)入的方式。

以上這篇MySQL修改默認(rèn)存儲引擎的實(shí)現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 聊聊MySQL中的存儲引擎
  • 簡述MySQL InnoDB存儲引擎
  • 簡單了解MySQL存儲引擎
  • MySql 存儲引擎和索引相關(guān)知識總結(jié)
  • MySQL MyISAM默認(rèn)存儲引擎實(shí)現(xiàn)原理
  • MySQL 學(xué)習(xí)總結(jié) 之 初步了解 InnoDB 存儲引擎的架構(gòu)設(shè)計(jì)
  • 淺談MySQL中四種常用存儲引擎
  • MySQL學(xué)習(xí)(七):Innodb存儲引擎索引的實(shí)現(xiàn)原理詳解
  • MySQL存儲引擎InnoDB的配置與使用的講解
  • MySQL存儲引擎MyISAM與InnoDB區(qū)別總結(jié)整理
  • MySQL常用存儲引擎功能與用法詳解
  • MySQL 選擇合適的存儲引擎

標(biāo)簽:黃山 湖南 衡水 湘潭 銅川 仙桃 蘭州 崇左

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL修改默認(rèn)存儲引擎的實(shí)現(xiàn)方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    辉县市| 陈巴尔虎旗| 马尔康县| 潼关县| 西乌珠穆沁旗| 吉水县| 长泰县| 海盐县| 任丘市| 卓尼县| 乌鲁木齐市| 明星| 新安县| 杨浦区| 迭部县| 静安区| 资中县| 兴隆县| 武穴市| 吴忠市| 西和县| 寻乌县| 云龙县| 芒康县| 达日县| 新竹市| 青河县| 红河县| 乌鲁木齐市| 余姚市| 阜平县| 泾川县| 壤塘县| 淮南市| 托克逊县| 庆云县| 海兴县| 绵阳市| 辽宁省| 泾阳县| 馆陶县|