mysql8大小写敏感|mysql8大小写敏感 设置_Windows Mysql8设置大小写敏感

windows系统mysql8.0更改lower_case_table_names
昨天在百度搜索了…7小时都没解决,今天去google上搜索1小时就解决了…让我慢慢道来…
首先,因为想用kbengine写游戏,就去搞kbengine发现它要求MySQL的lower_case_table_names为0…于是开始漫长的更改…
1、其实,windows系统无法改成 lower_case_table_names=0, 因为windows默认是1,就算改也只能改成2,以下截自 MySQL 8.0 Reference Manual
mysql8大小写敏感|mysql8大小写敏感 设置_Windows Mysql8设置大小写敏感
文章图片

2、然后,当我们按照网上方法把 my.ini中的lower_case_table_names强行改成2之后,会发现,mysql server无法启动了!!这是因为(下面还是MySQL 8.0 Reference Manual)
mysql8大小写敏感|mysql8大小写敏感 设置_Windows Mysql8设置大小写敏感
文章图片
你会看到错误是,你的data文件默认是1,但是你的lower_case_table_names=2了所以报错。mysql8.0要求我们不能在initialize之后再更改lower_case_table_names的值,所以正确做法是!!!
1、清空data文件,我的data文件在programdata\MySQL\XXXXserver 8.0\里面,你就把它删了,然后重新放个空的
2、然后把my.ini 里面lower_case_table_names,直接把1改成2
3、然后管理员身份运行cmd,
mysql8大小写敏感|mysql8大小写敏感 设置_Windows Mysql8设置大小写敏感
文章图片

做这步重新initialize mysql server
4、然后…你的mysql server就被重新initialize了
后续:
【mysql8大小写敏感|mysql8大小写敏感 设置_Windows Mysql8设置大小写敏感】因为重新initialize了嘛…以前的东西就没了…所以,你重新登陆mysql时候,用户名是root,密码在programdata\MySQL\XXXXserver 8.0\里面搜索一个.err文件,密码会被随机初始化在里面,你用这个密码才能登陆哦。后面自己把他改掉就好啦

    推荐阅读