前言
在此记录mycat踩坑之路
踩坑记录
坑1:配置好逻辑库后,使用navicat或sqlyng等数据库视图工具连接逻辑库,双击表名查询表,然后就报找不到这张表,但是配置啥的没问题。
原因:数据库工具查询数据的时候使用“库名.表名”的方式,而TEST_DB是Mycat产生的虚拟库,真实数据库中并不存在,所以报表不存在
解决1:逻辑库名和实体库名、逻辑表名和实体表名一致;(如果这样配置,就不好配置分库分表了)
解决2:使用sql查询。
坑2: 启动报错:Caused by: org.xml.sax.SAXParseException; lineNumber: 34; columnNumber: 14; 元素类型为 “mycat:rule” 的内容必须匹配 “(tableRule*,function*)”。
原因:rule.xml 配置文件中 标签顺序颠倒。
解决:tableRule ==> function 顺序不能打乱
反例:tableRule ==> function ==> tableRule == > function
schema.xml 配置文件中标签同理
坑3:mycat连接mysql8.0报错:(io.mycat.backend.datasource.PhysicalDatasource$1$1.connectionError(PhysicalDatasource.java:508)) - connection connectionError
原因:由于mysql8.0默认的密码加密方式是 caching_sha2_password,而目前大多数人使用的navicat版本是不支持的。
解决:ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
FLUSH PRIVILEGES;
填坑中。。