在云端的MySQL数据库中有一部分表名为大写,导出sql文件其中表名也是大写,但是本地新建一个数据库后执行sql文件后对应的表名全部变成了小写。
解决方案:
因为MySQL在默认情况下会将表名转换为小写。可以通过修改MySQL配置文件中的lower_case_table_names参数来解决。具体步骤如下:
编辑MySQL配置文件(my.cnf或my.ini),找到lower_case_table_names,设置lower_case_table_names=0,这会保留表名的大小写。重启MySQL服务。
注意:这个设置只能在数据库创建之前修改,如果数据库已经存在,可能需要重新创建数据库并导入数据。
上述方案在MySQL 8.0版本后貌似不支持了,修改完配置文件重启MySQL服务就会出现启动失败的情况,只有通过卸载重装的方法,重装的过程中设置配置可行。
补充说明:卸载完注意删除干净相关文件夹,包括安装目录和数据目录。然后再通过命令“sc delete 服务名”删除注册的服务,否则安装可能会出现冲突问题。例如我的原服务名为MySQL80则执行“sc delete MySQL80”。