mysql innodb 独立表空间_mysql之innodb引擎的共享表空间和独立表空间

InnoDB不创建目录,所以在启动服务器之前请确认”所配置的路径目录”的确存在。

做数据的移植以及备份时,要注意数据文件的完整性.

关于共享表空间和独立表空间的知识总结!

【共享表空间/系统表空间】

Innodb 将存储的数据按照表空间(tablespace)进行存放,默认配置下,会有一个初始大小10M,名为:ibdata1的文件,这就是默认的表空间文件。

配置文件中的设置:

1.默认设置

innodb_data_file_path = ibdata1:10M:autoextend

生成文件默认是在data目录下。

2.多路径设置

innodb_data_file_path = /data1/db1/ibdata1:100M:autoextend; /data2/db2/ibdata2:100M:autoextend

放在不同的磁盘,可以平均磁盘负载,提高数据库性能。

3.记录内容

记录所有基于Innodb存储引擎的表的数据。

【独立表空间】

1.配置

mysql> show variables like 'innodb_file_per%'\G;

*************************** 1. row ***************************

Variable_name: innodb_file_per_table

Value: ON

注意:MySQL5.6.7之后默认开启

2.位置

在对应的表所在的目录,生成:表名.ibd文件

[root@monitor wb]# pwd

/mysqlData/con1/data/wb

[root@monitor wb]# ll -h u1.*

-rw-rw----. 1 mysql mysql 8.5K Feb 28 20:36 u1.frm

-rw-rw----. 1 mysql mysql 96K Feb 28 20:37 u1.ibd

3.记录内容

独立的表空间,仅存储该表的:数据,索引和插入缓冲BITMAP等信息。

其余信息仍存储在默认表空间。

【相关知识点说明】

1.启用innodb_file_per_table后,每张表的表空间只存放自己的:数据,索引和插入缓冲BITMAP页。其它信息仍放在默认表空间。

其它信息如:回滚(undo)信息、插入缓冲索引页、系统的事物信息、二次写缓冲(Double write buffer)等。

2.file_per_table的特点

可以灵活选择:row format和file format。对于 数据压缩、truncate table操作会更快写。

回收空间可以再次被利用,相反默认表空间不会收缩空间。

MySQL Enterprise Backu对于拥有独立表空间的表,更灵活。表能从备份中单独出来,适合备份不是太频繁的表。

3.表空间:从逻辑存储结构看,所有数据都被逻辑地存放在一个空间中,称之为表空间(tablespace)

4.共享表空间大小不会自动收缩。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值