windows下安装Mysql8.0.13,由于widows默认是大小写不敏感,安装成功之后,创建的数据库表表名都是小写的。这样对于用代码生成工具生成代码的同学来说就不方便,
而且全都小写,看上去也是一团懵逼。
但是,如何修改配置,让表名区分大小写呢。配置项很简单,默认lower_case_table_names=1,设置成2就可以。
关于lower_case_table_names的说明参考官网:https://bugs.mysql.com/bug.php?id=90814
修改my.ini文件,配置项修改成功,再重启mysql服务,发现服务无法启动。查看data目录下的err日志,可以看到提示:
Different lower_case_table_names settings for server (‘2‘) and data dictionary(1).
意思是配置项和数据库初始化时的 lower_case_table_names设置是不一样的,这个也是mysql的一个bug。
解决办法:需要在初始化数据库文件时,就把 lower_case_table_names设置成一致。操作步骤如下
1、mysqld --initialize
2、mysql -install
3、net start mysql
4、修改root用户默认密码,由于初始化数据库之后,会生成一个随机密码(查看err日志文件)。
特殊说明:
1、初始化数据库之前,需要删除data目录
2、mysql8安装之后,默认的my.ini文件是在ProgramData/Mysql/xxx目录下,在手动初始化时,需要把my.ini文件复制到ProgramFiles/Mysql/xx 目录下。
原文地址:https://www.cnblogs.com/luoqingsong/p/10290465.html