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 博客