[Mysql]Innodb 独立表空间和共享表空间

innodb有2中表空间方式: 共享表空间 和 独立表空间
查询数据的设置: show variables like '%per_table';
默认是共享表空间,独立表空间在配置文件中添加 innodb_file_per_table=1 就可以设置了。
共享表空间数据增大以后可以使用 innodb_data_file_path的配置规划多个表空间文件

独立表空间一般是单表过大的情况下使用(至少上几个G)
想要将共享表空间转化为独立表空间有两种方法: 1. 需要锁库,全库导出,停止服务,ibdata1 可以移走或者删除,然后配置my.cnf,然后在启动mysql, 把数据导入。 2.修改配置文件my.cnf中的参数innodb_file_per_table参数为1,重启服务后将需要修改的所有innodb表都执行一遍:alter table table_name engine=innodb; 使用第二种方式修改后,原来库中的表中的数据会继续存放于ibdata1中,新建的表才会使用独立表空间
可能会用到的sql: SELECT   `TABLES`.TABLE_SCHEMA,`TABLES`.TABLE_NAME,`TABLES`.`ENGINE`   FROM information_schema.`TABLES`  WHERE `ENGINE`='INNODB' AND TABLE_SCHEMA='Idx'
更改之后再去看数据文件,可以观察数据文件的变化。
相关连接: http://database.51cto.com/art/201011/234527.htm http://blog.itpub.net/15480802/viewspace-759650/

本文出自 “orangleliu笔记本” 博客,转载请务必保留此出处http://blog.csdn.net/orangleliu/article/details/41877319

作者orangleliu 采用署名-非商业性使用-相同方式共享协议




本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部