使用D2RQ将MySQL8.0数据转RDF时生成映射文件驱动报错如何解决
问题原因
D2RQ默认适配MySQL 5.x版本的JDBC驱动,而你使用的MySQL 8.0+版本需要配套8.x版本的JDBC驱动,你放入的5.1.47版本驱动仍属于5.x系列,无法适配8.0版本的驱动类要求。
解决步骤
1. 替换JDBC驱动包
- 先删除d2rq/lib目录下已有的mysql-connector-java 5.x版本jar包
- 下载与你MySQL版本匹配的mysql-connector-java 8.0.x版本jar包,放入d2rq/lib目录
2. 修改D2RQ的驱动配置
找到D2RQ根目录下的启动配置文件:
- Linux/macOS系统修改
d2rq文件,Windows系统修改d2rq.bat文件 - 找到配置项中指定JDBC驱动类的参数,将原有值
com.mysql.jdbc.Driver替换为com.mysql.cj.jdbc.Driver
3. 重新执行映射生成命令
你原有的JDBC连接串已经包含MySQL 8.0要求的useSSL=false和serverTimezone参数,无需调整,直接执行原命令即可:
generate-mapping -u root -p 123456 -o kg_demo_movie_mapping.ttl "jdbc:mysql:///kg_demo_movie?useSSL=false&serverTimezone=UTC"
异常排查
如果修改后仍有报错,按以下顺序核对:
- 确认MySQL服务正常启动,3306端口未被其他程序占用
- 确认root用户拥有kg_demo_movie库的访问权限,账号密码输入正确
- 确认d2rq/lib目录下没有多个版本的MySQL JDBC驱动包共存
内容的提问来源于stack exchange,提问作者Felixgjh
相关产品推荐
相关产品推荐

