企业级应用MySQL数据库,经常要考虑的问题与解决思路:1、MySQL数据库的丢数据现象场景:?数据库突然崩溃,如CPU、内存突然烧掉或断电等?硬盘突然坏掉解决思路:A、innodb_flush_l
企业级应用MySQL数据库,经常要考虑的问题与解决思路:
1、MySQL数据库的丢数据现象
场景:
数据库突然崩溃,如CPU、内存突然烧掉或断电等
硬盘突然坏掉
解决思路:
A、innodb_flush_log_at_trx_commit参数设置:
值为1:每个事务日志都flush到磁盘
值为2:每个事务刷到logfile中即每次提交写文件,每秒flush到磁盘中
B、Slave机制远程binlog:
即通过Slave来保证数据不丢的,binlog实时传送到远程slave基本上在毫秒级别
C、应用处理机制
即通过应用程序的操作处理,将数据写两份分别存储,同时应用通过记录LOG来实现数据库的变化情况等。
2、硬件故障
场景:硬件故障的场景是各种各样的,也是不可避免的。
解决思路:快速恢复高可用
A、构建MySQL的MM和MS高可用,实现双向复制、数据库秒级数据切换
B、主备库的瞬时切换、应用的瞬时切换

3、主备库数据延迟解决方案
解决思路:将数据进行cache处理+多线程
4、主备库逻辑复制风险
场景:
逻辑复制即MySQL通过逻辑(statement or row模式)复制 来实现主备库数据同步,在理论是上有风险的,极端情况下可能会造成主备库数据不一致
解决思路:
A、尽可能采用row模式
B、主备库定期进行一致性校验
C、数据生命周期的binlog尽量保存下来
本站技术原创栏目文章均为中睿原创或编译,转载请注明:文章来自中睿,本站保留追究责任的权利。