开发者社区> 问答> 正文

服务端启动一直失败,求助!!

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

展开
收起
绿子直子 2023-05-09 10:53:56 89 0
1 条回答
写回答
取消 提交回答
  • 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

    2023-05-10 10:19:09
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载