细节参看网址:http://www.linuxidc.com/Linux/2015-01/111241.htm
后边内容。
共享表空间和独立表空间之间的转换,这也是很有用的。因为在用xtrabackup备份的时候有时需要单表备份还原。那么如果以前的存储是“共享表空间的存储方式”那么这时就需要转换成“单独表空间的存储方式”
查看当前数据库的表空间管理类型
脚本:show variables like "innodb_file_per_table";
MySQL> show variables like "innodb_file_per_table";
ON代表独立表空间管理,OFF代表共享表空间管理;(查看单表的表空间管理方式,需要查看每个表是否有单独的数据文件)
转换方法步骤:
1、 单个表的转换操作:
1>:参数innodb_file_per_table=1需要设置,并重新启动mysql。查看状态
mysql> show variables like "innodb_file_per_table";
2>:执行mysql>alter table table_name engine=innodb;查看数据库目录下相应的innodb表是不是有自己的.ibd文件了。如果有了就对了
2、大量的innodb表的操作:
1:>一般用mysqldump备份出整个数据库(具体步骤自己查),并修改my.cnf。innodb_file_per_table=1,重启数据库。查看下mysql> show variables like "innodb_file_per_table";
2:>之后删除备份过的那个数据库目录。用备份的文件恢复原库。这样就将全部的innodb表都变成了单独有.ibd文件的了。
Mysqldump 有总结的world文档。或参看网址http://www.linuxidc.com/Linux/2014-08/105949.htm
新闻热点
疑难解答