安装与启动
官网可能受到DNS污染导致无法访问,下载服务失效,导致安装下载不便
可以修改操作系统的host文件添加下面行,绕过DNS解析
并刷新操作系统的host缓存
https://gitee.ciilii.com/show/news-22.html
https://gitee.ciilii.com/show/news-22.html
安装与启动
安装JDK,要求JDK1.8,非1.8环境请自行编译源码
缓存的JAR下载地址
不提供安装包,只提供核心JAR包,JAR包可以独立运行,安装包是使用Java Service Wrapper做壳的,安装包请自己制作
JAR可以作为Java库引入自己业务项目中使用,Mycat2中的各个组件的设计都是可以独立使用的
jar包执行
实际上生产的启动命令
制作tar安装包
https://www.yuque.com/ccazhw/ml3nkf/gnqwyv
替换JAR的时候千万不要把旧的JAR保留在lib文件夹里面,改名也不可以,改扩展名也不可以
MySQL8安装后请设置XA RECOVER权限
GRANT XA_RECOVER_ADMIN ON . TO 'root'@'%';
安装包执行
出现权限不足请提升到管理员权限
1.13版本后,如果没有配置文件,会在第一次启动后自动创建
默认带有root账户,密码123456,并且自带默认数据源127.0.0.1:3306 root 123456
linux
windows
查看wrapper.log文件
如果出现以下字样,则说明启动成功
如果启动后遇到乱码和时区问题,请注意设置JDK设置
-Dfile.encoding=UTF-8
-Duser.timezone=GMT+8
以及JDBC的连接字符串
jdbc连接字符串关闭SSL可以提高性能
可以在java -jar 作为参数设置
也可以wrapper.conf里面设置
验证设置成功可以在mycat里执行
连接mycat的客户端参数也要设置时区
根据实际需求设置MySQL8设置时区
验证在mycat里能查询的值是预期请使用以下方法
设置输出日志
遇上配置目录不生效的情况,修改jar内的日志配置文件
例子
https://github.com/MyCATApache/Mycat2/issues/621
或者启动的时候添加
-D参数一定要写在jar路径前面
另外也可以把这个参数添加在wrapper.conf里面
Mycat2随着发展使用了不同的日志框架
到1.20为止使用slf4j接口框架,其实现是simplelogger
它的设置参考如下
simplelogger.properties
在2021-10-15号发布的1.20使用了logback,并添加了kafka连接器(lingkang提交该功能,通过更换maven依赖实现),便于记录并分析生产日志
它的设置参考如下
logback.xml
XML
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="kafkaAppender" class="com.github.danielwegener.logback.kafka.KafkaAppender">
复制
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
复制
<pattern>%message %n</pattern>
复制
<charset>utf8</charset>
复制
</encoder>
复制
<topic>applog-test</topic>
复制
<keyingStrategy class="com.github.danielwegener.logback.kafka.keying.NoKeyKeyingStrategy"/>
复制
<deliveryStrategy class="com.github.danielwegener.logback.kafka.delivery.AsynchronousDeliveryStrategy"/>
复制
<producerConfig>bootstrap.servers=192.168.18.43:9092,192.168.18.44:9092</producerConfig>
复制
<producerConfig>linger.ms=1000</producerConfig>
复制
<producerConfig>acks=0</producerConfig>
复制
<producerConfig>client.id=localhost-time-collector-logback-relaxed</producerConfig>
复制
<producerConfig>max.block.ms=0</producerConfig>
复制
</appender>
复制
<logger name="org.apache.kafka.clients" level="error"></logger>
复制
<logger name="org.apache.kafka.clients.NetworkClient" level="error"></logger>
复制
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
复制
<encoder>
复制
<pattern>
复制
%d[%level]%c{100}.%M:%L%m%n
复制
</pattern>
复制
</encoder>
复制
</appender>
复制
<root level="debug">
复制
<appender-ref ref="kafkaAppender"/>
复制
<appender-ref ref="CONSOLE" />
复制
</root>
复制
</configuration>
其中bootstrap.servers是kafka服务器的ip
不带kafka的配置如下
XML
复制代码
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
复制
<encoder>
复制
<pattern>
复制
%d[%level]%c{100}.%M:%L%m%n
复制
</pattern>
复制
</encoder>
复制
</appender>
复制
<root level="debug">
复制
<appender-ref ref="CONSOLE" />
复制
</root>
复制
</configuration>
注意设置模拟的MySQL版本
server.json
SQL
复制代码
1
"serverVersion": "5.7.33-mycat-2.0" //与后端,客户端版本对应
复制
2021-8-20号后,默认开启监控端口9066的http服务,该服务供Mycat UI监控,注意该端口不能被占用
监控页https://www.yuque.com/ccazhw/ml3nkf/gwx15x
0000-00-00 00:00:00问题
Caused by: com.mysql.cj.exceptions.DataReadException: Zero date value prohibited
jdbc字符串添加zeroDateTimeBehavior=convertToNull
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。