楼主: mailghyth

mysql空间满,无法启动怎么释放?

[复制链接]
论坛徽章:
6
2014年新春福章
日期:2014-02-18 16:50:09马上有车
日期:2014-02-18 16:50:09优秀写手
日期:2014-05-29 05:59:082015年新春福章
日期:2015-03-04 14:55:132015年新春福章
日期:2015-03-06 11:59:47秀才
日期:2017-09-18 17:02:34
11#
 楼主| 发表于 2014-9-2 10:56 | 只看该作者
lujinke 发表于 2014-9-2 10:25
估计你没有开启
innodb_file_per_table
导致所有的表都建在系统表空间,你看一下你的ibdata1看是否非常大 ...

确实没有开启innodb_file_per_table。delete和truncate都试了,整个表删除也不释放,ibdata1有10个g。
我公司服务器的mysql,我没有关闭,数据导出然后导回去,可以解决。
但是我虚拟机的mysql关闭了。连备份恢复,导出都无法操作。
请问这种情况怎么搞。
我是直接删除ibdata1,但是数据直接没了

使用道具 举报

回复
论坛徽章:
56
马上加薪
日期:2014-12-22 13:11:12复活蛋
日期:2011-08-31 14:55:20ITPUB9周年纪念徽章
日期:2010-10-08 09:32:252010世博会纪念徽章
日期:2010-09-07 08:52:012010年世界杯参赛球队:瑞士
日期:2010-06-24 09:16:222010年世界杯参赛球队:德国
日期:2010-04-27 09:40:272010年世界杯参赛球队:韩国
日期:2010-04-23 23:34:412010新春纪念徽章
日期:2010-03-01 11:06:222010新春纪念徽章
日期:2010-01-04 08:33:08参与WIN7挑战赛纪念
日期:2009-11-06 10:44:24
12#
发表于 2014-9-2 13:41 | 只看该作者
linux默认会保留5%的空间,用下面的命令把保留空间释放出来一部分,然后启动MySQL
tune2fs -m 1 /dev/sdc1

使用道具 举报

回复
论坛徽章:
6
2014年新春福章
日期:2014-02-18 16:50:09马上有车
日期:2014-02-18 16:50:09优秀写手
日期:2014-05-29 05:59:082015年新春福章
日期:2015-03-04 14:55:132015年新春福章
日期:2015-03-06 11:59:47秀才
日期:2017-09-18 17:02:34
13#
 楼主| 发表于 2014-9-2 13:48 | 只看该作者
waityou81 发表于 2014-9-2 13:41
linux默认会保留5%的空间,用下面的命令把保留空间释放出来一部分,然后启动MySQL
tune2fs -m 1 /dev/sdc1

这个可以,启动后就可以备份数据,删除ibdata1,然后恢复了

使用道具 举报

回复
论坛徽章:
52
2015年新春福章
日期:2015-03-06 11:57:312012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:32:552012新春纪念徽章
日期:2012-02-07 09:59:35
14#
发表于 2014-9-2 15:19 | 只看该作者
lujinke 发表于 2014-9-2 10:25
估计你没有开启
innodb_file_per_table
导致所有的表都建在系统表空间,你看一下你的ibdata1看是否非常大 ...

这种情况以后直接贴日志信息~~~ 猜测没错你使用共享表空间,表删除了空间是不会释放给操作系统的,导致空间依然不足,只有把ibdata文件删除的方式~~~


重新搭建配置~~~

使用道具 举报

回复
论坛徽章:
5
复活蛋
日期:2012-11-02 16:27:37灰彻蛋
日期:2013-01-27 17:08:112013年新春福章
日期:2013-02-25 14:51:24复活蛋
日期:2013-05-27 15:29:10优秀写手
日期:2014-07-01 06:00:12
15#
发表于 2014-9-3 10:16 | 只看该作者
waityou81 发表于 2014-9-2 13:41
linux默认会保留5%的空间,用下面的命令把保留空间释放出来一部分,然后启动MySQL
tune2fs -m 1 /dev/sdc1

这个很牛叉

使用道具 举报

回复
论坛徽章:
5
复活蛋
日期:2012-11-02 16:27:37灰彻蛋
日期:2013-01-27 17:08:112013年新春福章
日期:2013-02-25 14:51:24复活蛋
日期:2013-05-27 15:29:10优秀写手
日期:2014-07-01 06:00:12
16#
发表于 2014-9-3 10:21 | 只看该作者
本帖最后由 digdeep126 于 2014-9-3 10:22 编辑
mailghyth 发表于 2014-9-2 10:56
确实没有开启innodb_file_per_table。delete和truncate都试了,整个表删除也不释放,ibdata1有10个g。
我 ...

这里就体现出 innodb_file_per_table的好处了

使用道具 举报

回复
论坛徽章:
6
2014年新春福章
日期:2014-02-18 16:50:09马上有车
日期:2014-02-18 16:50:09优秀写手
日期:2014-05-29 05:59:082015年新春福章
日期:2015-03-04 14:55:132015年新春福章
日期:2015-03-06 11:59:47秀才
日期:2017-09-18 17:02:34
17#
 楼主| 发表于 2014-9-3 10:50 | 只看该作者
jinguanding 发表于 2014-9-2 15:19
这种情况以后直接贴日志信息~~~ 猜测没错你使用共享表空间,表删除了空间是不会释放给操作系统的,导致 ...

确实如此。。

使用道具 举报

回复
论坛徽章:
27
优秀写手
日期:2013-12-18 09:29:09ITPUB季度 技术新星
日期:2012-08-15 14:50:13嫦娥
日期:2013-03-04 09:47:05数据库板块每日发贴之星
日期:2011-09-08 01:01:01数据库板块每日发贴之星
日期:2011-09-11 01:01:01数据库板块每日发贴之星
日期:2011-09-10 01:01:02数据库板块每日发贴之星
日期:2011-09-09 01:01:01ITPUB十周年纪念徽章
日期:2011-11-01 16:26:59ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:422013年新春福章
日期:2013-03-04 09:50:49
18#
发表于 2014-9-3 15:41 | 只看该作者
mailghyth 发表于 2014-9-3 11:50
确实如此。。

用mysqldump出来到远程服务器上alldb.sql,然后drop database,然后再重新创建库,记得重新设置公共表空间大小,并暂时不允许扩展,这样就把公共表空间占据的磁盘空间释放了,然后把独立表空间打开。

最后再把备份的alldb.sql导入回来。

大概思路是这样子的,细节还有待你自己完善。

使用道具 举报

回复
求职 : 数据库管理员
论坛徽章:
123
祖国65周年纪念徽章
日期:2014-09-29 10:39:00祖国65周年纪念徽章
日期:2014-09-29 21:00:17祖国65周年纪念徽章
日期:2014-10-01 10:45:34祖国65周年纪念徽章
日期:2014-10-01 12:33:03祖国65周年纪念徽章
日期:2014-10-01 12:33:07祖国65周年纪念徽章
日期:2014-10-03 14:27:11itpub13周年纪念徽章
日期:2014-10-01 12:57:11itpub13周年纪念徽章
日期:2014-09-28 17:39:51itpub13周年纪念徽章
日期:2014-09-28 18:00:21itpub13周年纪念徽章
日期:2014-09-29 18:04:10
19#
发表于 2014-9-3 16:01 | 只看该作者
waityou81 发表于 2014-9-2 13:41
linux默认会保留5%的空间,用下面的命令把保留空间释放出来一部分,然后启动MySQL
tune2fs -m 1 /dev/sdc1

                     

使用道具 举报

回复
论坛徽章:
0
20#
发表于 2014-9-5 11:27 | 只看该作者
waityou81 发表于 2014-9-2 13:41
linux默认会保留5%的空间,用下面的命令把保留空间释放出来一部分,然后启动MySQL
tune2fs -m 1 /dev/sdc1

第一次知道

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表