canal.instance.tsdb.enable无论开启还是关闭都出现如下错误:
ERROR com.alibaba.druid.pool.DruidDataSource - create connection SQLException, url: jdbc:h2:../conf/example/h2;CACHE_SIZE=1000;MODE=MYSQL;, errorCode 28000, state 28000 org.h2.jdbc.JdbcSQLException: Wrong user name or password [28000-196]
原提问者GitHub用户hsh075623201
h2作为table ddl的历史版本存储时,会基于H2的默认jdbc配置
canal.instance.tsdb.dir=${canal.file.data.dir:../conf}/${canal.instance.destination:} canal.instance.tsdb.url=jdbc:h2:${canal.instance.tsdb.dir}/h2;CACHE_SIZE=1000;MODE=MYSQL; canal.instance.tsdb.dbUsername=canal canal.instance.tsdb.dbPassword=canal
解读一下,就是第一次时会创建conf/$instance$/$instance.mv.db,并设置访问密码为canal/canal,如果第二次重新打开时会校验xx.mv.db是否有多进程同时使用(会出现java.lang.IllegalStateException: The file is locked),也会校验本次的访问密码是否和第一次创建时相同
如果真遇到一些莫名其妙的问题,万能的解决办法:删除conf/对应的xx.mv.db,会重新初始化一个h2本地文件
原回答者GitHub用户agapple
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。