mysql 共享表空间存储_MySQL InnoDB共享表空间
簡介ibdata1
ibdata1文件是InnoDB存儲引擎的共享表空間文件,存放位置my.ini 中的 datadir="D:\phpStudy\MySQL\data",目錄下。
查看innode_file_per_table 參數的狀態
show?variables?like?'%per_table';
表空間
Innodb存儲引擎可將所有數據存放于ibdata*的共享表空間,也可將每張表存放于獨立的.ibd文件的獨立表空間。
共享表空間 :??某一個數據庫的所有的表數據,索引文件全部放在一個文件中,默認這個共享表空間的文件路徑在data目錄下。 默認的文件名為:ibdata1 ?初始化為10M。
獨立表空間 :?每一個表都將會生成以獨立的文件方式來進行存儲,每一個表都有一個.frm表描述文件,還有一個.ibd文件。 其中這個文件包括了單獨一個表的數據內容以及索引內容,默認情況下它的存儲位置也是在表的位置之中。
共享表空間轉化為獨立表空間:
1.先備份數據,然后修改配置文件my.cnf中的參數 innodb_file_per_table 參數為1/on開啟獨立表空間,重啟服務后將備份數據導入即可。
2.修改配置文件my.cnf中的參數 innodb_file_per_table 參數為1/on,重啟服務后將需要修改的所有innodb表都執行一遍:alter table table_name engine=innodb;會將innodb表從系統共享表空間移動到獨立的.ibd文件。
使用第二種方式修改后,原來庫中的表中的數據會繼續存放于ibdata1中,新建的表才會使用獨立表空間
總結
以上是生活随笔為你收集整理的mysql 共享表空间存储_MySQL InnoDB共享表空间的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pgsql thinkphp5_thin
- 下一篇: python getattr函数_Pyt