mysql的读写分离
Posted limeng951
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql的读写分离相关的知识,希望对你有一定的参考价值。
config\\database.php里
配置
\'connections\'
=>
array
(
//默认mysql配置,访问test库
\'mysql\'
=>
array
(
\'driver\'
=>
\'mysql\'
,
\'host\'
=>
\'192.168.16.70\'
,
\'port\'
=>
\'3306\'
,
\'database\'
=>
\'test\'
,
\'username\'
=>
\'test\'
,
\'password\'
=>
\'123456\'
,
\'charset\'
=>
\'utf8\'
,
\'collation\'
=>
\'utf8_unicode_ci\'
,
\'prefix\'
=>
\'\'
,
),
//自定义mysql连接,访问media库
\'media\'
=>
array
(
\'read\'
=>
array
(
array
(
\'host\'
=>
\'192.168.16.74\'
,
\'port\'
=> 3306),
array
(
\'host\'
=>
\'192.168.16.70\'
,
\'port\'
=> 3306),
),
\'write\'
=>
array
(
\'host\'
=>
\'192.168.16.70\'
,
\'port\'
=> 3306
),
\'driver\'
=>
\'mysql\'
,
\'database\'
=>
\'media\'
,
\'username\'
=>
\'test\'
,
\'password\'
=>
\'123456\'
,
\'charset\'
=>
\'utf8\'
,
\'collation\'
=>
\'utf8_unicode_ci\'
,
\'prefix\'
=>
\'\'
,
),
)
2、为什么要用Amoeba?
解释:目前要实现mysql的主从读写分离,主要有以下几种方案:
1、 通过程序实现,网上很多现成的代码,比较复杂,如果添加从服务器要更改多台服务器的代码。
2、 通过mysql-proxy来实现,由于mysql-proxy的主从读写分离是通过lua脚本来实现,目前lua的脚本的开发跟不上节奏,而写没有完美的现成的脚本,因此导致用于生产环境的话风险比较大,据网上很多人说mysql-proxy的性能不高。
3、 自己开发接口实现,这种方案门槛高,开发成本高,不是一般的小公司能承担得起。
4、 利用阿里巴巴的开源项目Amoeba来实现,具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库,并且安装配置非常简单。
具体配置:访问-----http://www.cnblogs.com/lhj588/archive/2012/11/19/2777897.html 博客
以上是关于mysql的读写分离的主要内容,如果未能解决你的问题,请参考以下文章