内存表在同步环境注意事项
浏览:4605次 出处信息
在一些场景想利用MySQL的内存表存一些数据来加快数据的操作。但如果在复制环境中这可不是一个好事情。
主要原因如下:
1. 内存表在数据库重启或是异常down机的情况下内存表的数据会全部丢失。如果从库重启一下则同步就不能进行了。
2. 另一方面,在主从环境下,如果从库上同时有大的操作或是排序工作,有借助于临时表的的场景,同时主库上内存表也有较大的写入,从库有可能会就出现报那个内存表is full (1114)这样的错误。
3. 特别需要注意在使用内存表的场景主库重启会主动发起一次对内存表的truncate table操作
那如何解决呢:
1. 从我对数据库的了解上来看推荐用Innodb表去替代memory表, Innodb表如果一个表的数据经常被访问,就会被加载到内存里,数据和索引都在内存,访问速度是比较快的。
2. 不要复制Innodb表。 利用replication-igore-table=db.tbaname形式声明不同步那个表。 这种情况下如果在statement级别的复制,禁止出现insert into otbname select c1 from tbname这种语句。
3.把监表单独放到一个实例下,和主要业务数据分开。
建议继续学习:
- mysql 主从配置中的server-id的作用 (阅读:6563)
- 也谈PostgreSQL的同步配置(Slony) (阅读:4604)
- MySQL5.5数据库复制搭建报错之Could not initialize master info structure (阅读:4281)
- PHP查询MySQL大量数据的内存占用分析 (阅读:3854)
- MTU值的调整导致MySQL复制异常 (阅读:3555)
- MySQL复制的概述、安装、故障、技巧、工具 (阅读:3213)
- mysql主从热备配置(含innodb)终极版 (阅读:2914)
- mysql主从同步快速设置 (阅读:2890)
- 自己动手实现Multi-Master Replication (阅读:2987)
- 如何监控主从之间的延时:seconds_behind_master OR mk-heartbeat (阅读:2723)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:MariaDB常见问题FAQ
后一篇:数据库的堆表与索引组织表的数据存储格式讨论 >>
文章信息
- 作者:wubx 来源: MySQL支持
- 标签: 主从同步 内存表
- 发布时间:2012-12-08 22:58:44
建议继续学习
近3天十大热文
- [53] IOS安全–浅谈关于IOS加固的几种方法
- [52] 如何拿下简短的域名
- [51] 图书馆的世界纪录
- [50] android 开发入门
- [50] Oracle MTS模式下 进程地址与会话信
- [49] Go Reflect 性能
- [46] 【社会化设计】自我(self)部分――欢迎区
- [46] 读书笔记-壹百度:百度十年千倍的29条法则
- [36] 程序员技术练级攻略
- [29] 视觉调整-设计师 vs. 逻辑