Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 865|回复: 1
打印 上一主题 下一主题

20151026数据库故障

[复制链接]

85

主题

89

帖子

600

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
600
跳转到指定楼层
楼主
发表于 2015-10-26 16:42:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、helios_mtv_cms数据库的mtv_basecontent表损坏,通过repair table修复好主库的表,从库复制出现主键冲突,无法跳过。通过查看发现表损坏是由于索引的问题引起。
修复方法:
1、删除索引,重建索引:

       SQL语句:
               
ALTER TABLE `mtv_basecontent` DROP INDEX  `fullindex_mtv_basecontent_tags`;  


              
ALTER TABLE `mtv_basecontent` ADD INDEX  `mtv_basecontent_tags`(`tags`);


2、重新dump整个数据库
3、添加新机器,做一主两从。做从库冗余。
回复

使用道具 举报

37

主题

44

帖子

295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
295
沙发
发表于 2015-10-26 17:27:00 | 只看该作者
1.10.10.88.241(BJUC36-java-login-02) 延迟太大.
处理方式:
修改innodb_flush_log_at_trx_commit=1改成innodb_flush_log_at_trx_commit =2
恢复

原因:设成2对于很多运用,特别是从MyISAM表转过来的是可以的,它的意思是不写入硬盘而是写入系统缓存。日志仍然会每秒flush到硬 盘,所以你一般不会丢失超过1-2秒的更新。
        设成0会更快一点,但安全方面比较差,即使MySQL挂了也可能会丢失事务的数据。
        而值2只会在整个操作系统 挂了时才可能丢数据。

最终还是要把mysql做成rpm包。确保这些配置都无需人为去设置。减少配置造成的问题。
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Comsenz Inc.

GMT+8, 2024-12-16 01:07 , Processed in 0.033821 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表