中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

淺談mysql中各種表空間(tablespaces)的概念

發布時間:2020-08-10 04:12:24 來源:ITPUB博客 閱讀:452 作者:sqysl 欄目:MySQL數據庫

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指定一個值時,需要在尾部添加一個斜杠。
   

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

弋阳县| 台州市| 黎城县| 建水县| 潞城市| 吐鲁番市| 宁陕县| 湟源县| 同心县| 汉源县| 兖州市| 临朐县| 竹北市| 娄底市| 轮台县| 安福县| 永川市| 彩票| 凤台县| 临武县| 靖远县| 柳林县| 清远市| 梧州市| 马龙县| 遂宁市| 石泉县| 江北区| 沅陵县| 新邵县| 金门县| 长治县| 儋州市| 辽源市| 阿克陶县| 兴宁市| 本溪市| 玉溪市| 祁阳县| 乌兰浩特市| 莱西市|