今天在迁移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
在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)