MyCat实现mysql数据库的读写分离

上一节已经配置好MySql的主从了,继续往下使用MyCat数据库中间件来配置MySql数据库的读写分离。能够大大提升MySql数据库的性能。。java

仍是那两台机器: Master 10.10.95.76 Slave 10.10.95.79 这里把MyCat安装到Master主机上,使用Master做为写节点,,Slave做为读节点,, 有条件的话能够配置多个读节点,以提升性能。。mysql

前提条件: 1.mycat是用java写的,要使用必须安装jdk,而且配置好环境变量、 2.读数据和写数据节点的时间必须彻底一致,不然没法配置git

废话很少说,看如何配置github

1.下载mycat,这里使用1.4版本 https://github.com/MyCATApache/Mycat-downloadsql

2.下载后解压到/usr/local/mycat目录下数据库

输入图片说明

3.配置MYCAT_HOME vi /etc/profileapp

输入图片说明

4.修改myCat/conf/wrapper.conf文件 配置java地址(网上不少教程都没有这步)负载均衡

输入图片说明

下面这些JVM参数要根据物理机器大小来配置,若是超过物理机器大小,会启动不了性能

输入图片说明

5.修改server.xml文件.net

输入图片说明

这里配置mycat的用户名和登陆密码,,注意:schemas要和schemal.xml中的schemas节点name一致 test用户能够进行读写,user用户只能进行读操做 6.下面进行最重要的一步操做:修改schemas.xml文件 输入图片说明

这里配置的是数据库的名称,必定要和server.xml文件中的一致,<table>节点配置的是数据表的信息,项目中的全部表均可以在这里面进行配置,具体节点的信息这里不作解释。

<table>中的表名必定是真是的物理表名。。 ![输入图片说明](https://static.oschina.net/uploads/img/201712/25155018_4s5l.jpg "在这里输入图片标题")

上面这些事mycat中最最核心的配置,,首先配置dataNode节点,这个节点和数据库相关,每一个databases对应的物理数据库。。 dataHost节点来配置数据库的心跳检测和读写节点的信息, balance属性是负载均衡类型:0 全部读操做都发送到writeHost上,1-全部读操做随机发送到readHost节点,2 全部读操做随机发送到writeHost和readHost节点上。。 writeType : 0全部写操做都发送到写节点 1全部写操做都发送到读节点,2全部写操做随机发送到读节点和写节点。。

<hearbeat>配置的是心跳检测,先使用默认的就行 <writeHost>节点配置的事写节点的信息 <readHost>配置读节点的信息,注意,在writeHost里面配置,能够配置多个读节点。。

到此为止,,配置工做完成。。。。

启动mycat

进入bin目录下 ./mycatconsole 输入图片说明 表示启动成功,,, 也可使用./mycat start myCat server is running... 表示启动成功。。

登录MYCAT:

8066是mycat的数据管理端口,9066是mycat的服务端口

登录到mycat使用数据管理端口 输入图片说明 进入之后的操做就和mysql同样啦。。。。

如今进行验证读写操做,, 首先进行插入操做:

接下来去查看mycat日志: 进入mycat/logs目录下:tail -f mycat.log命令 输入图片说明 从上面的信息能够看到发送到的地址是10.10.95.76是写节点。。

接下来看读操做

输入图片说明 再次查看mycat日志:

发送到了10.10.95.79地址,,也就是咱们的读节点

到此为止咱们的读写分离已经搭建成功了。。

写完很懵逼,下一步要对mycat的配置进行详细的研究,, 敬请期待....

相关文章
相关标签/搜索