DataGrip测试连接时报错: MySQL (无版本)区分大小写: 普通形式=mixed, 分隔形式=exactConnection refused: connect.
报错信息提示是在使用DataGrip进行MySQL数据库的连接测试时遇到了问题,具体是关于MySQL的大小写敏感性设置。
MySQL数据库有两种主要的大小写敏感性设置:
lower_case_table_names
: 这个系统变量主要影响数据库表名的存储和比较。当设置为1时,表名存储在小写中,比较不区分大小写。innodb_file_format
: 这个变量影响InnoDB表的大小写敏感性,当设置为Barracuda
时,表名和列名的存储是区分大小写的。
报错信息中的无版本
可能意味着DataGrip无法获取到特定版本的MySQL信息,或者是MySQL服务的版本信息未知。
解决方法:
- 确认MySQL服务器的版本,并检查是否存在大小写敏感性的已知问题。
如果你确实需要区分大小写,但是DataGrip默认可能是将所有的标识符转换为小写,你可以在连接设置中修改这个行为:
- 打开DataGrip的连接设置。
- 查找到
SQL 大小写
相关的设置。 - 根据需要选择
区分大小写
或不区分大小写
。
- 如果你使用的是MySQL 5.7.6或更高版本,并且想要关闭大小写敏感性,可以在MySQL服务器上设置
innodb_file_format
为Barracuda
,并且设置innodb_file_per_table
为ON
。 - 如果你不能更改服务器设置,那么在DataGrip中将所有标识符(例如表名和列名)保持为创建时的大小写即可。
请注意,更改大小写敏感性设置可能会影响数据库的一致性,因此在进行更改之前应该进行充分的测试。
评论已关闭