innodb_file_per_table

MySQL InnoDB引擎 默认会将所有的数据库InnoDB引擎的表数据存储在一个共享空间中:ibdata1,当增删数据库的时候,ibdata1文件不会自动收缩,单个数据库的备份也将成为问题。通常只能将数据使用mysqldump 导出,然后再导入解决这个问题。

在MySQL的配置文件[mysqld]部分,增加innodb_file_per_table参数,可以修改InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间。

注意:

如果启用了innodb_file_per_talbe参数,需要注意的是每张表的表空间内存放的只是数据、索引和插入缓冲Bitmap页,其他数据如:回滚信息、插入缓冲索引页、系统事物信息、二次写缓冲(Double write buffer)等还是放在原来的共享表空间内。同时说明了一个问题:即使启用了innodb_file_per_table参数共享表空间还是会不断的增加其大小的。

独立表空间优缺点:
优点:
1:每个表的数据、索引存放在自己单独的表空间中。
2:空间可以回收(drop/truncate table 方式操作表空间不能自动回收)
3:对于独立的表空间、碎片影响的性能要低于共享表空间
缺点:
单表增加比共享表空间方式更大

结论:
共享表空间在Insert操作上有一些优势,但在其它都没独立表空间表现好。
当启用独立表空间时,请合理调整一下 innodb_open_files 参数。

时间: 2024-11-10 16:13:57

innodb_file_per_table的相关文章

使用参数innodb_file_per_table支持MySQL InnoDB表数据共享空间自动收缩

http://heylinux.com/archives/2367.html http://blog.csdn.net/ywh147/article/details/8996022 使用过MySQL的同学,刚开始接触最多的莫过于MyISAM表引擎了,这种引擎的数据库会分别创建三个文件:表结构.表索引.表数据空间.我们可以将某个数据库目录直接迁移到其他数据库也可以正常工作.然而当你使用InnoDB的时候,一切都变了.InnoDB 默认会将所有的数据库InnoDB引擎的表数据存储在一个共享空间中:i

InnoDB 引擎独立表空间 innodb_file_per_table

使用过MySQL的同学,刚开始接触最多的莫过于MyISAM表引擎了,这种引擎的数据库会分别创建三个文件:表结构.表索引.表数据空间.我们可以将某个数据库目录直接迁移到其他数据库也可以正常工作.然而当你使用InnoDB的时候,一切都变了. InnoDB 默认会将所有的数据库InnoDB引擎的表数据存储在一个共享空间中:ibdata1,这样就感觉不爽,增删数据库的时候,ibdata1文件不会自动收缩,单个数据库的备份也将成为问题.通常只能将数据使用mysqldump 导出,然后再导入解决这个问题.

innodb_file_per_table 理解

MYSQL innodb存储引擎 默认将所有的数据库 innodb 引擎的表数据存储在一个共享空间中:ibdata1,当增删数据库的时候, ibdata1文件不会自动收缩,单个数据库的备份也会成为问题,通常只能将数据使用mysqldump导出,然后再导入解决这个问题 在mysql的配置文件[mysqld] 部分,增加Innodb_file_per_table 参数,可以修改innodb为独立表空间模式,每个数据库的每个表都会 生成一个数据空间 注意: 如果启用了 innodb_file_per_

innodb_file_per_table - 转换为InnoDB

共享InnoDB / var / lib / mysql / ibdata1存储的问题InnoDB表当前将数据和索引存储到共享表空间(/ var / lib / mysql / ibdata1).由于共享表空间,一个InnoDB表的数据损坏可能导致MySQL无法在整个计算机上启动.修复InnoDB损坏可能非常难以执行,并且可能导致在修复过程中最初未损坏的表的数据丢失. 由于MySQL 5.5将使用InnoDB作为默认存储引擎,因此考虑继续利用/ var / lib / mysql / ibdat

MySQL 参数浅析之 innodb_file_per_table

顾名思义,此参数设置为ON时,新创建的InnoDB 数据表的数据会存储于一个单独的文件中,而不是存储于共享的ibdata表空间. 将此参数设置为ON,会有很多好处,并且,在MySQL 5.6的最新版本在,默认已经将此参数这是为ON. 最直接的好处,是可以通过文件系统(例如使用ls命令)来评估一个数据表所占的磁盘空间. 共享表空间的最大问题就是这个ibdata文件大小只增不减,有时会大到不可思议.如果使用单独的表空间,那么这个数据表被truncate或者drop时,此数据单独的表空间会被回收. 另

MySQL 参数设置-持续更新

InnoDB_file_per_table InnoDB_file_per_table=0;  InnoDB_file_per_table=1 0为默认设置,标识每个数据库使用一个表空间:修改为1的话,表示每个表使用一个表空间. 查询该参数:show variables like ‘%per_table%’;

Oenstak(M版)控制节点安装

#############修改hosts文件 # controller10.0.0.11 controller# compute110.0.0.31 compute1# block110.0.0.41 block1# object110.0.0.51 object1# object210.0.0.52 object2 #############关闭selinux及防火墙############# systemctl stop firewalldsystemctl disable firewall

OpenStack组件系列?Keystone搭建

一:版本信息 官网:http://docs.openstack.org/newton/install-guide-rdo/keystone.html 二:部署keystone 官网文档:http://docs.openstack.org/newton/install-guide-rdo/ 查看系统信息: [[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.0.1406 (Core) [[email prote

LAMP

LAMP:组合 L:linux A:httpd M:mysql.mariadb P:PHP.python Web资源的类型: 静态资源:原始形式与响应结果一致 动态资源:原始形式通常为程序文件,需要运行将运行结果显示给用户 CGI:协议: 可以让客户端,从客户端代理向运行在网络服务器上程序传数据,CGI描述了客户端和服务器程序之间传输数据的一种标准形式 数据的模型:层次.网状.关系 PHP:脚本的编程语言.为WED开发设计.将代码放到html中 httpd与PHP结合的方式: 一.CGI 二.m