使用mycat实现mysql读写分离

使用mycat实现mysql读写分离

mycat在数据层的作用和nginx在应用层很像,都是代理后面实际的服务。mycat实现了mysql协议,对外看起来就是一个mysql数据库,可以和使用普通mysql一样进行操作

  • 首先去官网下载对应操作系统的mycat,现在的稳定版是1.6
  • mycat还提供了一个mycat-web的服务用来可视化操作,还没研究
  • 下载解压后修改conf中的schema.xml

这个配置是自顶向下的,理解起来应该从下往上看。dataHost对应实际的mysql集群,









    show slave status
    
    


  • 配置server.xml


    utf8mb4
    druidparser




    root
    lfz_schema

  • 可以将log4j.xml的日志级别改为debug,观察mycat是不是真的做到读写分离了
  • mycat start,启动mycat
  • 登录mycat mysql -uroot -proot -P8066 -h127.0.0.1登录mycat
  • 我在云机器上无法启动mycat,查看日志发现jvm申请的内存太多了,可以修改wrapper.conf修改
wrapper.java.additional.5=-XX:MaxDirectMemorySize=256M
wrapper.java.additional.10=-Xmx256M
wrapper.java.additional.11=-Xms256M

你可能感兴趣的:(使用mycat实现mysql读写分离)