mysql南京廖化_mysql读写分离实现

一个完整的mysql读写分离环境包括以下几个部分:

应用程序client

? database proxy ? database集群

在本次实战中,应用程序client基于c3p0连接后端的database proxy。database proxy负责管理client实际访问database的路由策略,采用开源框架amoeba。database集群采用mysql的master-slave的replication方案。整个环境的结构图如下所示:

?

实战步骤与详解

一.搭建mysql的master-slave环境

1)分别在host1(10.20.147.110)和host2(10.20.147.111)上安装mysql(5.0.45),具体安装方法可见官方文档 2)配置master

首先编辑/etc/my.cnf,添加以下配置:

log-bin=mysql-bin #slave会基于此log-bin来做replication server-id=1 #master的标示

binlog-do-db = amoeba_study #用于master-slave的具体数据库 然后添加专门用于replication的用户:

mysql> GRANT REPLICATION SLAVE ON *.* TO repl@10.20.147.111 IDENTIFIED BY '111111'; 重启mysql,使得配置生效: /etc/init.d/mysqld restart 最后查看master状态:

3)配置slave

首先编辑/etc/my.cnf,添加以下配置: server-id=2 #slave的标示

配置生效后,配置与master的连接:

mysql> CHANGE MASTER TO

-> MASTER_HOST='10.20.147.110', -> MASTER_USER='repl',

-> MASTER_PASSWORD='111111',

-> MASTER_LOG_FILE='mysql-bin.000003', -> MASTER_LOG_POS=161261;

其中MASTER_HOST是master机的ip,MASTER_USER和MASTER_PASSWORD就是我们刚才在master上添加的用户,MASTER_LOG_FILE和MASTER_LOG_POS对应与master status里的信息

最后启动slave: mysql> start slave;

4)验证master-slave搭建生效

通过查看slave机的log(/var/log/mysqld.log):

100703 10:51:42 [Note] Slave I/O thread: connected to master

'repl@10.20.147.110:3306', replication started in log 'mysql-bin.000003' at position 161261

如看到以上信息则证明搭建成功,如果有问题也可通过此log找原因 二.搭建database proxy

此次实战中database proxy采用amoeba ,它的相关信息可以查阅官方文档,不在此详述 1)安装amoeba

下载amoeba(1.2.0-GA)后解压到本地(D:\\openSource\\amoeba-mysql-1.2.0-GA),即完成安装 2)配置amoeba

先配置proxy连接和与各后端mysql服务器连接信息

(D:\\openSource\\amoeba-mysql-1.2.0-GA\\conf\\amoeba.xml):

1. 2. 3. 8066 4. 5. 6. 9. 10. 20 11. 12. 13. 30 14. 15.

16. 30 17. 18. 19. 128 20. 21. 22. true 23. 24. 25. root 26. 27. 28. root 29.

5. defaultManager

ty> 6. 7. 8. 3306 9. 10. 11. 10.20.147.110

rty> 12. amoeba_study

13. 14. 15. root 16. 17. 18. 19. 20. 21. 22. 23. ableObjectPool\> 24. 200 25. 200

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值