使用 MyCat连接 MySql8后,新建的表、字段都是大写的,并且在执行 insert 语句时报错:
ERROR 1146 (HY000): Table 'itcast.tb_log' doesn't exist
原因:在 MyCat创建的表、字段都是大写的,但是 Mysql8在linux环境下是默认小写的,所以导致找不到该表。Linux下部署安装MySQL,默认不忽略表名大小写,需要手动到 /etc/my.cnf 下配置 lower_case_table_names=1 使 Linux环境下MySQL忽略表名大小写,否则使用MyCAT的时候会提示找不到表的错误。
问题定位到了,但是新问题又来了,Mysql8中,OWER_CASE_TABLE_NAMES只能在初始化服务器时配置。禁止在服务器初始化后更改LOWER_CASE_TABLE_NAMES设置。
也就是说Mysql8已经初始化过就不支持修改lower_case_table_names参数了。真是w(゚Д゚)w!!
所以只能重装的时候设置了。对于MyCat的使用,可以手动将创建的表改为小写。
至此完毕!