因为我们在生产环境中使用了主从同步,为了更好的管理mysql 。使用了mycat中间件,对比其他的中间件,mycat 目前比较适合我们。首先是因为它是 阿里的,二是因为mycat 支持分布式事务,后期可能回考虑用到 ,但是目前依据BASE
准则 来说我们目前不使用分布式事务,但是它支持,所以我们先保留;第三点是因为 它 能够配合zookeeper使用;第四是因为目前我们只做水平分库,但是我们设计的时候预先设计好根据时间垂直分库,在每一个表里面设置一个id,生产规则是 时间戳的方式。
基于这四点我在测试环境中使用mycat,节省大量的代码。
好了,在配置的过程中遇到这么几个问题
第一 解决远程访问问题:
找到 mycat/config/ 下的server.xml。编辑他回发现有一段注释
取消注释,放开就行了,其实这个跟mysql 一样的原理,绑定id访问,0.0.0.0就是远程可以访问
第二个问题 mycat启动的时候。错误如下
解决这个问题 需要 编辑 config/wrapper.conf 增加wrapper.startup.timeout=300 设置
遇到其他的问题 可以设置wrapper.debug=true 查看日志
这是我在配置过程中遇到的问题
另外我之前一直不明白 wrapper 启动的时候 一直打印wrapper started as Daemon
我一直以为是一个运行例子,我发现运行方式是一种守护进程
可以输入查看ps -ef | grep wrapper