Welcome 微信登录

首页 / 数据库 / MySQL / MySQL之InnoDB之更换表空间

今天在迁移zabbix数据库时碰到一个共享表空间无法释放的问题,由于mysql默认使用的是innodb存储引擎,当删除一个很大的数据时,由于强制中断操作造成共享表空间不能释放,同时需要删除的数据库也无法删除掉,这样,共享表空间里仍存有未被完全删除的数据库的信息。从而造成表空间无法释放的问题。当我们想释放或更换共享表空间时正确的步骤如下:
重新配置共享表空间
1.查看当前存在的数据库mysql> show databases;
+--------------------+
| Database          |
+--------------------+
| information_schema |
| mysql              |
| test              |
| zhujiangtao        |
+--------------------+
4 rows in set (0.00 sec)2.备份那些存储引擎是innodb的数据库,当然若有其他的数据库,也需要备份,只是本文是针对innodb存储引擎而言的。[root@zhu2 var]# mysqldump zhujiangtao > /tmp/zhu.sql #根据需要可对mysqldump使用具体的参数3.关闭mysql数据库[root@zhu2 ~]# service mysqld stop
Shutting down MySQL..                                      [确定]
4.删除innodb存储引擎的共享表空间和日志文件以及使用innodb存储引擎的表的.frm文件[root@zhu2 var]# ll /opt/mysql/var/
总计 45880
-rw-rw---- 1 mysql mysql 35651584 10-18 00:51 ibdata1
-rw-rw---- 1 mysql mysql  5242880 10-18 00:51 ib_logfile0
-rw-rw---- 1 mysql mysql  5242880 10-18 00:51 ib_logfile1
[root@zhu2 var]# rm -rf ibdata1 #删除表空间
[root@zhu2 var]# rm -rf ib_logfile* #删除日志文件
[root@zhu2 var]# rm -rf zhujaingtao/student.frm #删除innodb表的.frm
文件
5.重新配置共享表空间innodb_data_file_path = ibdata1:100M:autoextend更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2013-10/91742p2.htm推荐阅读:InnoDB存储引擎的启动、关闭与恢复 http://www.linuxidc.com/Linux/2013-06/86415.htmMySQL InnoDB独立表空间的配置 http://www.linuxidc.com/Linux/2013-06/85760.htmMySQL Server 层和 InnoDB 引擎层 体系结构图 http://www.linuxidc.com/Linux/2013-05/84406.htmInnoDB 死锁案例解析 http://www.linuxidc.com/Linux/2013-10/91713.htmMySQL Innodb独立表空间的配置 http://www.linuxidc.com/Linux/2013-06/85760.htm
  • 1
  • 2
  • 下一页
在Java中实现MongoDB的Group功能Oracle基础教程之tkprof程序详解相关资讯      MySQL InnoDB  MySQL表空间 
  • MySQL innoDB 存储引擎学习篇  (02/15/2015 10:26:16)
  • MySQL InnoDB 共享表空间和独立表  (01/04/2015 11:26:59)
  • MySQL的InnoDB索引详细分析  (10/26/2014 19:53:34)
  • MySQL innoDB重做日志文件  (01/29/2015 12:12:50)
  • 关于MySQL InnoDB存储引擎中的锁  (11/02/2014 12:10:49)
  • MySQL之INNODB表空间(共享、独立  (01/24/2014 10:19:05)
本文评论 查看全部评论 (0)
表情: 姓名: 字数