![02a262edbfa049e9c4501c57345ba54b.png](https://img-blog.csdnimg.cn/img_convert/02a262edbfa049e9c4501c57345ba54b.png)
MySQL 上了 8 后,在 Linux 端,对于 lower_case_table_names 参数,只能在初始化的时候设置了,若初始化的时候没设置,那后面就傻愣愣了
示例:
当前本地已有环境设置为 lower_case_table_names = 1 了,将 lower_case_table_names 修改为 0 会发生什么。
测试版本
root [(none)]> select version();
+-----------+
| version() |
+-----------+
| 8.0.18 |
+-----------+
1 row in set (0.00 sec)
lower_case_table_names不是动态参数,将my.cnf 中 lower_case_table_names 改为 0
重启 mysql
查看错误日志
2020-09-22T17:16:49.781973+08:00 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('0') and data dictionary ('1').
2020-09-22T17:16:49.782401+08:00 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2020-09-22T17:16:49.782620+08:00 0 [ERROR] [MY-010119] [Server] Aborting
![4f76f982f71e61c6119c9d28b3bfbe3b.png](https://img-blog.csdnimg.cn/img_convert/4f76f982f71e61c6119c9d28b3bfbe3b.png)
官方是这么说的
地址:https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html
![95aebad5fc4c7bf07ad1116bdb3759fe.png](https://img-blog.csdnimg.cn/img_convert/95aebad5fc4c7bf07ad1116bdb3759fe.png)
所以,除非你是安装在 windows上或者可以确保开发人员实行规范建表等操作,不然就在初始化配置my.cnf时候就将 lower_case_table_names = 1 配置上去吧