首页 > 数据库 > MySQL > 正文

mysql独立表空间和共享表空间的转换

2024-07-24 13:00:21
字体:
来源:转载
供稿:网友

细节参看网址: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

 

 

 

 

 

 

 

 

 

 

 

 

 

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表