Innodb独立表空间的配置
环境介绍:
MySQL版本:5.5.40
1.查看独立表空间是否开启
mysql> show variables like '%per_table%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | OFF |
+-----------------------+-------+
1 row in set (0.00 sec)
说明:OFF代表mysql是共享表空间
2.停止mysql服务器:
[root@localhost ~]#/etc/init.d/mysqld stop
3.修改my.cnf文件:
[mysqld]
innodb-file-per-table=1
4.启动mysql
[root@localhost ~]#/etc/init.d/mysqld start
5.验证功能是否开启
mysql> show variables like '%per_table%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | ON |
+-----------------------+-------+
1 row in set (0.00 sec)
如何迁移至独立表空间?
1.如果线上服务器需要保存数据的,还要多加2步
a.使用mysqldump备份数据
b.使用mysql恢复对应数据
参考链接:http://blog.csdn.net/jacson_bai/article/details/44781033
2.删除旧文件时,既要删除ibdata*,也要删除相应log文件ib_logfile*,否则启动MySQL时,会提示异常缺少mysql.pid文件;
参考链接:http://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_file_per_table
独立表空间学习总结
优点:
1.数据库中每个表都有自已独立的表空间,每个表的数据和索引都会存在自已的表空间中。
2.可以实现单表在不同的数据库中移动。
3.快速回收表空间
缺点;
1.增加系统open_files数;
2.单个表的数据库文件容量较大,引起存储不好规划等。
注意点:
1.在启用innodb_file_per_table=1后必须合理调整下innodb_open_files大小,此参数值,最小为10,默认为300,是全局参数,不能动态调整;
2.根据自己的业务合理调整是否采用独立表空间
相关文章
- 09-28九、InnoDB的表空间
- 09-28区的分类&XDES Entry(3)---独立表空间结构(二十九)
- 09-2814.5.7 Storing InnoDB Undo Logs in Separate Tablespaces 存储InnoDB Undo logs 到单独的表空间
- 09-28Mysql InnoDB 共享表空间和独立表空间
- 09-28MySQL 独立表空间恢复案例
- 09-28【mysql】关于InnoDB表text blob大字段的优化
- 09-28MySQL 5.7怎么爬出暂时表空间的坑
- 09-28MySQL5.7开启独立表空间参数innodb_file_per_table【原创】
- 09-28mysql管理 ------查看 MySQL 数据库中每个表占用的空间大小
- 09-28如何查看MySQL中每张表占用的空间大小