一个完整的mysql读写分离环境包括以下几个部分:
应用程序clie
tdatabaseproxydatabase集群在本次实战中,应用程序clie
t基于c3p0连接后端的databaseproxy。databaseproxy负责管理clie
t实际访问database的路由策略,采用开源框架amoeba。database集群采用mysql的masterslave的replicatio
方案。整个环境的结构图如下所示:
实战步骤与详解一搭建mysql的masterslave环境1)分别在host1(1020147110)和host2(1020147111)上安装mysql(5045),具体安装方法可见官方文档2)配置master首先编辑etcmyc
f,添加以下配置:logbi
mysqlbi
slave会基于此logbi
来做replicatio
serverid1master的标示bi
logdodbamoeba_study用于masterslave的具体数据库然后添加专门用于replicatio
的用户:mysqlGRANTREPLICATIONSLAVEONTOrepl1020147111IDENTIFIEDBY111111重启mysql,使得配置生效:etci
itdmysqldrestart最后查看master状态:
f3)配置slave首先编辑etcmyc
f,添加以下配置:serverid2slave的标示配置生效后,配置与master的连接:mysqlCHANGEMASTERTOMASTER_HOST1020147110MASTER_USERreplMASTER_PASSWORD111111MASTER_LOG_FILEmysqlbi
000003MASTER_LOG_POS161261
其中MASTER_HOST是master机的ip,MASTER_USER和MASTER_PASSWORD就是我们刚才在master上添加的用户,MASTER_LOG_FILE和MASTER_LOG_POS对应与masterstatus里的信息最后启动slave:mysqlstartslave4)验证masterslave搭建生效通过查看slave机的log(varlogmysqldlog):100703105142NoteSlaveIOthreadco
ectedtomasterrepl10201471103306replicatio
startedi
logmysqlbi
000003atpositio
161261如看到以上信息则证明搭建成功,如果有问题也可通过此log找原因二搭建databaseproxy此次实战中databaseproxy采用amoeba,它的相关信息可以查阅官方文档,不在此详述1)安装amoeba下载amoeba(120GA)后解压到本地(Dope
Sourceamoebamysql120GA),即完成安装
f2)配置amoeba先配置proxy连接和与各后端mysql服务器连接信息(Dope
Sourceamoebamysql120GAco
famoebaxml):1234567891011121314151617181920212223242526272829property
ame