Mysql+mycat实现读写分离

环境:centos7.5 且已做好主从复制(详细可参考之前的文章)

本机ip:172.25.4.168

172.25.4.61 主(做写主机)

172.25.4.68 从(做读主机)

 

一、搭建jdk平台

tar -xvf jdk-8u91-linux.tar -C /usr/local/

ln -s /usr/local/jdk1.8.0 /usr/local/java

 

vim /etc/profiel

export JAVA_HOME=/usr/local/java

export PATH=$PATH:$JAVA_HOME/bin

 

source /etc/profile

 

 

二、安装mycat

tar -xvf mycat-server-1.6.tar -C /usr/local

useradd mycat -s /bin/nologin

chown -R mycat.mycat /usr/local/mycaat

 

vim /etc/profile

export MYCAT_HOME=/usr/local/mycat

 

source /etc/profile

 

/usr/local/mycat/conf/server.xml:app(前端)与mycat通信的设定:mycat虚拟数据库名、前端连接mycat用户名密码)(端口8066)

/usr/local/mycat/conf/schema.xml:mycat连接后端服务器配置文件,真实数据库名、与数据库通信的用户名密码(需要在数据库中授权)、读写数据库设定。

 

三、更改配置文件

  1. vim server.xml

 <user name="mycatuser">   #前端和mycat连接的用户名

                <property name="password">Www.1.com</property>  #密码

                <property name="schemas">user</property>         #呈现给前端的虚拟库名

        </user>

 

#有几个就写几个<user>标签,多余的就删掉。

 

      2.vim schema.xml

 <schema name="user" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">

        </schema>

        <dataNode name="dn1" dataHost="localhost1" database="work_user" />

        

        <dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"   #默认是0,要改为1

                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">

                <heartbeat>select user()</heartbeat>

                <writeHost host="hostM1" url="172.25.4.61:3306" user="mycat" password="Www.1.com">  #写主机设定,注意密码要符合mysql要求

                        <readHost host="hostS2" url="172.25.4.68:3306" user="mycat" password="Www.1.com" />

                </writeHost>

        </dataHost>

注:颜色一样的数值要改成一样的。

 

四、创建授权用户(在写主机操作)

grant all on *.* to ‘mycat’@’%’ identified by ‘Www.1.com’;

flush privileges;

 

五、启服务:/usr/loca/mycat/bin/mycat ster

ps qux | grep mycat (会有个长长的进程,额,真的很长)

root      49149  2.0  0.0  17860   752 ?        Sl   14:52   0:00 /usr/local/mycat/bin/./wrapper-linux-x86-64 /usr/local/mycat/conf/wrapper.conf wrapper.syslog.ident=mycat wrapper.pidfile=/usr/local/mycat/logs/mycat.pid wrapper.daemonize=TRUE wrapper.lockfile=/var/lock/subsys/mycat
root      49151 17.3  8.1 6228404 81448 ?       Sl   14:52   0:01 java -DMYCAT_HOME=. -server -XX:MaxPermSize=64M -XX:+AggressiveOpts -XX:MaxDirectMemorySize=2G -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1984 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Xmx4G -Xms1G -Djava.library.path=lib -classpath lib/wrapper.jar:conf:lib/zookeeper-3.4.6.jar:lib/jline-0.9.94.jar:lib/ehcache-core-2.6.11.jar:lib/log4j-1.2.17.jar:lib/fastjson-1.2.12.jar:lib/curator-client-2.11.0.jar:lib/joda-time-2.9.3.jar:lib/log4j-slf4j-impl-2.5.jar:lib/libwrapper-linux-x86-32.so:lib/netty-3.7.0.Final.jar:lib/druid-1.0.26.jar:lib/log4j-api-2.5.jar:lib/mapdb-1.0.7.jar:lib/slf4j-api-1.6.1.jar:lib/univocity-parsers-2.2.1.jar:lib/hamcrest-core-1.3.jar:lib/Mycat-server-1.6-RELEASE.jar:lib/objenesis-1.2.jar:lib/leveldb-api-0.7.jar:lib/hamcrest-library-1.3.jar:lib/wrapper.jar:lib/commons-lang-2.6.jar:lib/reflectasm-1.03.jar:lib/mongo-java-driver-2.11.4.jar:lib/guava-19.0.jar:lib/curator-recipes-2.11.0.jar:lib/curator-framework-2.11.0.jar:lib/libwrapper-linux-ppc-64.so:lib/log4j-core-2.5.jar:lib/leveldb-0.7.jar:lib/sequoiadb-driver-1.12.jar:lib/mysql-binlog-connector-java-0.4.1.jar:lib/kryo-2.10.jar:lib/jsr305-2.0.3.jar:lib/commons-collections-3.2.1.jar:lib/disruptor-3.3.4.jar:lib/log4j-1.2-api-2.5.jar:lib/velocity-1.7.jar:lib/libwrapper-linux-x86-64.so:lib/dom4j-1.6.1.jar:lib/minlog-1.2.jar:lib/asm-4.0.jar -Dwrapper.key=bVzsaFsZrXBLWpSJ -Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.pid=49149 -Dwrapper.version=3.2.3 -Dwrapper.native_library=wrapper -Dwrapper.service=TRUE -Dwrapper.cpu.timeout=10 -Dwrapper.jvmid=1 org.tanukisoftware.wrapper.WrapperSimpleApp io.mycat.MycatStartup start
root      49242  0.0  0.0 112720   984 pts/0    R+   14:52   0:00 grep --color=auto mycat
 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值