免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4100 | 回复: 12
打印 上一主题 下一主题

MySQL独立表空间 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-05-02 11:25 |只看该作者 |倒序浏览
我公司现有数据库数据量超出预先估计,创建数据库时采用了共享表空间,现在ibdata文件超过了50G,现在想改成独立表空间+分区表模式。但问题是现在是在生产环境中,应用无法停止,大家有没有什么好的方法来实现改造呢???

论坛徽章:
9
每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00数据库技术版块每周发帖之星
日期:2016-03-07 16:30:25
2 [报告]
发表于 2012-05-02 11:41 |只看该作者
恐怕没有0影响的方案,影响最小的方案:
1. 搭一台从机(独立表空间),做成双主
2. web服务器指向新的IP并重启
3. 老master下线

论坛徽章:
0
3 [报告]
发表于 2012-05-02 11:52 |只看该作者
这个东西就得规化好,要不然确实麻烦。
不过50G不算大吧

论坛徽章:
0
4 [报告]
发表于 2012-05-02 14:39 |只看该作者
关键是其中有一张表的数据量较,而且还要根据这张表生成报表,在生成报表过程中要做些查询、计算、分组,所占用资源较大,速度也慢

论坛徽章:
0
5 [报告]
发表于 2012-05-02 14:53 |只看该作者
innodb_file_per_table 初始化参数随时可以改,又不会影响服务~~

改完之后适当的时间重启一下mysql服务,使设置生效~~

而后再挑时间定期定量alter innodb表即可~~

没有必要一次全部处理完,把时间线拉长分批处理好了,这样影响会比较小的~~

论坛徽章:
9
每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00数据库技术版块每周发帖之星
日期:2016-03-07 16:30:25
6 [报告]
发表于 2012-05-02 15:05 |只看该作者
回复 5# junsansi


    不是dynamic的variable,修改一样要重启mysql服务的

论坛徽章:
0
7 [报告]
发表于 2012-05-02 15:11 |只看该作者
cenalulu 发表于 2012-05-02 15:05
回复 5# junsansi

看贴不认真~~~

论坛徽章:
0
8 [报告]
发表于 2012-05-02 15:19 |只看该作者
junsansi 发表于 2012-05-02 14:53
innodb_file_per_table 初始化参数随时可以改,又不会影响服务~~

改完之后适当的时间重启一下mysql服务, ...


我在my.cnf中已经添加,重启也没有问题,但是数据库有张表数据量非常大,我执行‘ALTER TABLE TBLNAME ENGINE=INNODB;’会花费很长时间,而且在做这个操作过程中,会锁表吗???

论坛徽章:
0
9 [报告]
发表于 2012-05-02 15:24 |只看该作者
1、会锁
2、很长是多长,如果是在分钟级,提前跟开发/运营打好招呼,这种操作应该是可以被接受的,毕竟只是一次性的维护操作,之后不会再有~~

如果实在不允许,那就考虑通过中间表的方式处理吧~~

论坛徽章:
0
10 [报告]
发表于 2012-05-02 15:28 |只看该作者
回复 9# junsansi

其中有一张表的数据行数过亿了,因此我想在执行ALTER TABLE会花费很长时间吧!

另外你所说的中间表是什么意思??

抱歉我刚刚转做数据库维护,对数据库不是很熟悉

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

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP