首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用MySQL处理主从( Symfony2 )复制延迟

用MySQL处理主从( Symfony2 )复制延迟
EN

Stack Overflow用户
提问于 2014-11-12 14:53:37
回答 1查看 1.2K关注 0票数 2

我正在努力解决以下问题:我有两个MySQL服务器,配置为主从服务器,但它们不在同一个内部网络上,因此有时会出现明显的延迟,写入后从从服务器读取可能会导致不一致性问题。

我想知道是否有一种方法可以让mysql从从属程序中读取,如果在从服务器或其他解决方案上没有结果的话,它会以某种方式退回到从属服务器。

不确定是否可以这样做,也不确定是否应该在应用层或mysql级别。

当前的设置是带有mysqlnd扩展的php5,通过遵循文档(在yaml http://symfony.com/doc/current/reference/configuration/doctrine.html上添加从程序),我设法让应用程序从从服务器读取并在主服务器上写入。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-12 14:53:37

最后,我在Doctrine\DBAL\Connections\MasterSlaveConnection的PHP上发现,只要调用以下命令,就可以在任何时候强制使用主服务器:

代码语言:javascript
复制
$conn->connect('master'); 

因此,我的解决方案是在需要数据一致性的控制器操作的开头放置以下行:

代码语言:javascript
复制
$this->getDoctrine()->getConnection()->connect('master');

这样,它总是在执行流期间从主程序读取,而应用程序的其余部分则保持读/写之间的平衡。我不确定这是否是最好的解决方案,但它对我的目的是有效的。

我希望这对处于类似情况的人有所帮助。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26889844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档