国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

淺析mysql中各種表空間 tablespaces 的概念

2024-07-24 12:32:01
字體:
供稿:網(wǎng)友
       mysql中,會涉及到各種表空間的概念,雖然,很多方面這些概念和Oracle有相似性,但也有很多不同的地方,初學者很容易被這些概念弄的暈頭轉(zhuǎn)向,從而,混淆這些概念的區(qū)別和理解,下面,就簡要介紹和說明一下這些表空間的概念。
 
1.系統(tǒng)表空間(System Tablespace)
 
        innodb系統(tǒng)表空間包含innodb數(shù)據(jù)字典(innodb相關(guān)對象的元數(shù)據(jù)),同時,雙寫緩沖(doublewrite buffer)、改變緩沖(change buffer)和undo日志(undo logs)等也存儲于系統(tǒng)表空間中。此外,系統(tǒng)表空間
        也包含用戶在該表空間創(chuàng)建的表和索引等數(shù)據(jù)。由于系統(tǒng)表空間可以存儲多張表,因此,其為一個共享表空間。系統(tǒng)表空間由一個或多個數(shù)據(jù)文件組成,默認情況下,其包含一個叫ibdata1的系統(tǒng)數(shù)據(jù)文件,位于mysql
        數(shù)據(jù)目錄(datadir)下。系統(tǒng)表空間數(shù)據(jù)文件的位置、大小和數(shù)目由innodb_data_home_dir和innodb_data_file_path啟動選項控制。針對不同場景,具體舉例如下:
 
1)參數(shù)innodb_data_home_dir未配置,只配置參數(shù)innodb_data_file_path:
 
      innodb_data_file_path=ibdata1:1024M;ibdata2:1024M:autoextend
 
      --注:系統(tǒng)表空間包含ibdata1和ibdata2兩個數(shù)據(jù)文件,二者均位于datadir目錄下。
 
2)參數(shù)innodb_data_home_dir和innodb_data_file_path均進行了配置:
 
innodb_data_home_dir = /data
innodb_data_file_path=ibdata1:1024M;ibdata2:1024M:autoextend
 
--注:系統(tǒng)表空間包含ibdata1和ibdata2兩個數(shù)據(jù)文件,二者均位于/data目錄下。
 
3)參數(shù)innodb_data_home_dir位置為空串,只配置參數(shù)innodb_data_file_path:
 
innodb_data_home_dir =
innodb_data_file_path=/d1/ibdata1:1024M;/d2/ibdata2:1024M:autoextend
 
--注:系統(tǒng)表空間包含ibdata1和ibdata2兩個數(shù)據(jù)文件,ibdata1位于/d1目錄下,ibdata2位于/d2目錄下。
 
2.表文件表空間(File-Per-Table Tablespaces)
 
   表文件表空間是一個單表表空間,該表創(chuàng)建于自己的數(shù)據(jù)文件中,而非創(chuàng)建于系統(tǒng)表空間中。當innodb_file_per_table選項開啟時,表將被創(chuàng)建于表文件表空間中。否則,innodb將被創(chuàng)建于系統(tǒng)表空間中。
   每個表文件表空間由一個.ibd數(shù)據(jù)文件代表,該文件默認被創(chuàng)建于相應數(shù)據(jù)庫目錄中。表文件表空間支持動態(tài)(DYNAMIC)和壓縮(commpressed)行格式。
 
3.通用表空間(General Tablespaces)
   通用表空間為通過create tablespace語法創(chuàng)建的共享表空間。通用表空間可以創(chuàng)建于mysql數(shù)據(jù)目錄外的其他表空間,其可以容納多張表,且其支持所有的行格式。
   通過create table tab_name ... tablespace [=] tablespace_name或alter table tab_name tablespace [=] tablespace_name語法將其添加與通用表空間內(nèi)。
 
4.undo表空間(undo tablespace)
   undo表空間由一個或多個包含undo日志的文件組成。innodb_undo_tablespace配置選項控制undo表空間的數(shù)目。undo表空間創(chuàng)建于innodb_undo_directory配置選項確定的位置,該選項典型被用于將undo日志放于不同的
存儲設(shè)備上。如果該選項沒有確定任何路徑,undo表空間則被默認創(chuàng)建于mysql數(shù)據(jù)目錄(datadir)下。
 
5.臨時表空間(Temporary Tablespace)
   用戶創(chuàng)建的臨時表和磁盤內(nèi)部臨時表創(chuàng)建于共享臨時表空間中。innodb_temp_data_file選項確定臨時表空間數(shù)據(jù)文件的相對路徑、名字、大小和屬性等。如果該選項未確定任何值,默認情況下,系統(tǒng)將在
   innodb_data_home_dir確定的目錄下創(chuàng)建一個叫ibtmp1的自動擴展的數(shù)據(jù)文件,該文件將稍大于12m。
   mysql服務(wù)器正常關(guān)閉或異常終止初始化時,臨時表空間將被移除,并且,mysql服務(wù)器每次啟動時會被重新創(chuàng)建。當臨時表空間被創(chuàng)建時,其被賦予一個動態(tài)產(chǎn)生的空間ID(space ID)。如果不能創(chuàng)建臨時表空間,
   mysql服務(wù)器啟動將被拒絕。mysql服務(wù)器異常終止的情況下,臨時表空間將不被移除。這種情況下,DBA能手工移除臨時表空間或重啟mysql服務(wù)器,重啟服務(wù)器過程中,將自動移除和重新創(chuàng)建臨時表空間。
   臨時表空間并不能存儲于裸設(shè)備。
   這里既然說到了innodb_data_home_dir,那么,就說說這個選項,該選項確定innodb系統(tǒng)表空間數(shù)據(jù)文件目錄路徑的共同部分。innodb_file_per_table開啟時,該選項設(shè)置并不影響表文件表空間的位置。該選項默認值
   為mysql數(shù)據(jù)目錄。如果你將該選項設(shè)置為空串,那么,你可以為innodb_data_file_path設(shè)置一個絕對路徑值。此外,當為innodb_data_home_dir指定一個值時,需要在尾部添加一個斜杠。
   

(編輯:武林網(wǎng))

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 津南区| 汝州市| 临洮县| 泸州市| 南江县| 东兴市| 福州市| 山阳县| 玛多县| 仙游县| 兴化市| 惠州市| 西充县| 马尔康县| 连江县| 柞水县| 东源县| 墨竹工卡县| 汉寿县| 秭归县| 延安市| 孟连| 西青区| 荔波县| 高陵县| 元朗区| 台江县| 兴和县| 鄱阳县| 临夏市| 周至县| 泾源县| 延边| 晋宁县| 伊川县| 克拉玛依市| 盐边县| 滦平县| 铅山县| 项城市| 西畴县|