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

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql表空间大小_浅谈mysql中各种表空间(tablespaces)的概念

發布時間:2023/12/19 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql表空间大小_浅谈mysql中各种表空间(tablespaces)的概念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

mysql中,會涉及到各種表空間的概念,雖然,很多方面這些概念和Oracle有相似性,但也有很多不同的地方,初學者很容易被這些概念弄的暈頭轉向,從而,混淆這些概念的區別和理解,下面,就簡要介紹和說明一下這些表空間的概念。

1.系統表空間(System Tablespace)

innodb系統表空間包含innodb數據字典(innodb相關對象的元數據),同時,雙寫緩沖(doublewrite buffer)、改變緩沖(change buffer)和undo日志(undo logs)等也存儲于系統表空間中。此外,系統表空間

也包含用戶在該表空間創建的表和索引等數據。由于系統表空間可以存儲多張表,因此,其為一個共享表空間。系統表空間由一個或多個數據文件組成,默認情況下,其包含一個叫ibdata1的系統數據文件,位于mysql

數據目錄(datadir)下。系統表空間數據文件的位置、大小和數目由innodb_data_home_dir和innodb_data_file_path啟動選項控制。針對不同場景,具體舉例如下:

1)參數innodb_data_home_dir未配置,只配置參數innodb_data_file_path:

innodb_data_file_path=ibdata1:1024M;ibdata2:1024M:autoextend

--注:系統表空間包含ibdata1和ibdata2兩個數據文件,二者均位于datadir目錄下。

2)參數innodb_data_home_dir和innodb_data_file_path均進行了配置:

innodb_data_home_dir = /data

innodb_data_file_path=ibdata1:1024M;ibdata2:1024M:autoextend

--注:系統表空間包含ibdata1和ibdata2兩個數據文件,二者均位于/data目錄下。

3)參數innodb_data_home_dir位置為空串,只配置參數innodb_data_file_path:

innodb_data_home_dir =

innodb_data_file_path=/d1/ibdata1:1024M;/d2/ibdata2:1024M:autoextend

--注:系統表空間包含ibdata1和ibdata2兩個數據文件,ibdata1位于/d1目錄下,ibdata2位于/d2目錄下。

2.表文件表空間(File-Per-Table Tablespaces)

表文件表空間是一個單表表空間,該表創建于自己的數據文件中,而非創建于系統表空間中。當innodb_file_per_table選項開啟時,表將被創建于表文件表空間中。否則,innodb將被創建于系統表空間中。

每個表文件表空間由一個.ibd數據文件代表,該文件默認被創建于相應數據庫目錄中。表文件表空間支持動態(DYNAMIC)和壓縮(commpressed)行格式。

3.通用表空間(General Tablespaces)

通用表空間為通過create tablespace語法創建的共享表空間。通用表空間可以創建于mysql數據目錄外的其他表空間,其可以容納多張表,且其支持所有的行格式。

通過create table tab_name ... tablespace [=] tablespace_name或alter table tab_name tablespace [=] tablespace_name語法將其添加與通用表空間內。

4.undo表空間(undo tablespace)

undo表空間由一個或多個包含undo日志的文件組成。innodb_undo_tablespace配置選項控制undo表空間的數目。undo表空間創建于innodb_undo_directory配置選項確定的位置,該選項典型被用于將undo日志放于不同的

存儲設備上。如果該選項沒有確定任何路徑,undo表空間則被默認創建于mysql數據目錄(datadir)下。

5.臨時表空間(Temporary Tablespace)

用戶創建的臨時表和磁盤內部臨時表創建于共享臨時表空間中。innodb_temp_data_file選項確定臨時表空間數據文件的相對路徑、名字、大小和屬性等。如果該選項未確定任何值,默認情況下,系統將在

innodb_data_home_dir確定的目錄下創建一個叫ibtmp1的自動擴展的數據文件,該文件將稍大于12m。

mysql服務器正常關閉或異常終止初始化時,臨時表空間將被移除,并且,mysql服務器每次啟動時會被重新創建。當臨時表空間被創建時,其被賦予一個動態產生的空間ID(space ID)。如果不能創建臨時表空間,

mysql服務器啟動將被拒絕。mysql服務器異常終止的情況下,臨時表空間將不被移除。這種情況下,DBA能手工移除臨時表空間或重啟mysql服務器,重啟服務器過程中,將自動移除和重新創建臨時表空間。

臨時表空間并不能存儲于裸設備。

這里既然說到了innodb_data_home_dir,那么,就說說這個選項,該選項確定innodb系統表空間數據文件目錄路徑的共同部分。innodb_file_per_table開啟時,該選項設置并不影響表文件表空間的位置。該選項默認值

為mysql數據目錄。如果你將該選項設置為空串,那么,你可以為innodb_data_file_path設置一個絕對路徑值。此外,當為innodb_data_home_dir指定一個值時,需要在尾部添加一個斜杠。

總結

以上是生活随笔為你收集整理的mysql表空间大小_浅谈mysql中各种表空间(tablespaces)的概念的全部內容,希望文章能夠幫你解決所遇到的問題。

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