日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL如何修改表的储存方式_修改mysql默认存储引擎的方法

發布時間:2025/3/8 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL如何修改表的储存方式_修改mysql默认存储引擎的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

修改mysql默認存儲引擎的方法,供大家學習參考。

先來了解一下mysql存儲引擎:

mysql服務器采用了模塊化風格,各部分之間保持相對獨立,尤其體現在存儲架構上。存儲引擎負責管理數據存儲,以及mysql的索引管理。通過定義的API,mysql服務器能夠與存儲引擎進行通信。目前使用最多的是MyISAM和InnoDB。InnoDB被Oracle收購后,mysql自行開發的新存儲引擎Falcon將在mysql6.0版本引進。

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

InnoDB則是一種支持事務的引擎。所以的數據存儲在一個或者多個數據文件中,支持類似于Oracle的鎖機制。一般在OLTP應用中使用較廣泛。如果沒有指定InnoDB配置選項,mysql將在mysql數據目錄下創建一個名為ibdata1的自動擴展數據文件,以及兩個名為ib_logfile0和ib_logfile1的日志文件。

創建table時可以通過engine關鍵字指定使用的存儲引擎,如果省略則使用系統默認的存儲引擎:CREATE TABLE t (i INT) ENGINE = MYISAM;

查看系統中支持的存儲引擎類型:

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)

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

default-storage-engine=MyISAM

查看某個存儲引擎的具體信息:

mysql> show engine InnoDB status\G;

一般安裝系統默認是INNODB:

default-storage-engine=INNODB

1.可以在啟動數據庫服務器時在命令行后面加上–default-storage-engine或–default-table-type選項。

2.更靈活的方式是在隨mysql服務器發布同時提供的mysql客戶端時指定使用的存儲引擎。最直接的方式是在創建表時指定存儲引擎的類型,向下面這樣:

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

修改表的存儲引擎:

ALTER TABLE engineTest ENGINE = INNODB;

修改默認存儲引擎:

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

但是,如果表建立時是MyISAM,要更改整個數據庫表的存儲引擎,一般要一個表一個表的修改,比較繁瑣,此時建議采用先把數據庫導出,得到SQL,把MyISAM修改成INNODB,再導入的方式。

總結

以上是生活随笔為你收集整理的MySQL如何修改表的储存方式_修改mysql默认存储引擎的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。