Connection could not be created to jdbc:mysql://xxxxx:2881/cw_douc?createDatabaseIfNotExist=true&allowMultiQueries=true&useUnicode=true&autoReconnect=true&characterEncoding=utf8&connectionCollation=utf8_general_ci with driver com.mysql.cj.jdbc.Driver. Could not create connection to database server. Attempted reconnect 3 times. Giving up. 请问OceanBase数据库下最新的社区版,使用mysql连接串,8.0.33的mysql驱动,连接串参数加了&connectionCollation=utf8_general_ci就会报错,是正常的么?
在OceanBase数据库中,使用mysql连接串连接数据库时,如果连接串参数加了&connectionCollation=utf8_general_ci,会报错的情况是正常的。
因为在OceanBase中,使用的是utf8mb4字符集,而不是utf8字符集,两者虽然类似,但是有一些差异,特别是在排序和比较时。因此,如果在连接串中指定了&connectionCollation=utf8_general_ci参数,就会导致排序和比较出现问题,从而引发错误。
解决方法是,在连接串中去掉&connectionCollation=utf8_general_ci参数,使用默认的字符集即可。如果需要指定字符集,则应该使用utf8mb4字符集,并指定相应的排序规则。例如,可以使用&characterEncoding=utf8mb4&collation=utf8mb4_general_ci参数来指定utf8mb4字符集和对应的排序规则。
报错信息表明无法创建到数据库服务器的连接。这可能是由于连接参数配置不正确或数据库服务器不可访问导致的。请确保以下几点:
关于连接串参数中添加了&connectionCollation=utf8_general_ci
导致报错的问题,这可能是由于该参数在您的环境中不受支持或不正确使用导致的。建议您参考OceanBase数据库的文档或咨询OceanBase社区以获取更准确的连接参数配置信息。
根据您提供的信息,您在尝试使用MySQL连接串连接到OceanBase数据库时遇到了问题。具体而言,您指出在连接串中添加了参数"&connectionCollation=utf8_general_ci"后会导致报错。根据我目前的知识,OceanBase数据库是基于分布式架构的关系型数据库系统,它的行为可能与传统的MySQL数据库有所不同。
关于您的问题,首先请确保以下几点:
这可能是由于多种原因导致的,例如网络问题、防火墙设置、数据库配置等。
关于您提到的在连接串中添加了&connectionCollation=utf8_general_ci参数后仍然报错的问题,可能是因为该参数与OceanBase数据库不兼容或者未正确配置。建议您检查以下几点:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。