当前位置:   article > 正文

【MySQL 11】怎么解决MySQL 8.0.18 大小写敏感问题_mysql8.0大小写

mysql8.0大小写

1、查看状态

通过 show variables 命令查看当前 mysql 是否是区分大小写,如下:

mysql大小写敏感配置相关的两个参数,lower_case_file_system 和 lower_case_table_names。
查看当前mysql的大小写敏感配置

show global variables like '%lower_case%';

+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | ON    |
| lower_case_table_names | 0     |
+------------------------+-------+
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

lower_case_table_names=1 表示 mysql 是不区分大小写的
lower_case_table_names=0 表示 mysql 是区分大小写的

2、修改配置

MySQL 8.0 以上版本,大小写敏感配置比较坑,根据官方文档可以发现如下信息:

lower_case_table_names can only be configured when initializing the server. 
Changing the lower_case_table_names setting after the server is initialized is prohibited.
lower_case_table_names 只能在初始化服务器时配置。 禁止在服务器初始化后更改 lower_case_table_names 设置。
  • 1
  • 2
  • 3

lower_case_table_names 配置必须在安装好 MySQL 后,初始化 mysql 配置时才有效。一旦 mysql 启动后,再设置是无效的,而且启动报错。
需要重新初始化MySQL数据库,并且在初始化过程中,在初始化之前将lower_case_table_names = 1写入到my.cnf文件中

3、重新初始化MySQL数据库

3.1、停止服务

在修改配置之前,请先把 mysql 服务停止。执行下面命令:

systemctl stop mysqld.service
  • 1

3.2、删除错误日志

为了方便查看 mysql 的错误日志,可以先将 /var/log/mysqld.log 删除。命令如下:

rm /var/log/mysqld.log
  • 1

3.3、删除系统数据库与用户数据库

将 mysql 数据库中的系统数据库和用户数据库都删除掉,执行下面命令:

(1)查看 /var/lib/mysql 目录下面的内容

[root@localhost mysql]# ls
auto.cnf       binlog.000003  binlog.000006  binlog.000009  ca.pem           ib_buffer_pool  ib_logfile1   mysql               phoenix          server-cert.pem  undo_001
binlog.000001  binlog.000004  binlog.000007  binlog.index   client-cert.pem  ibdata1         ib_logfile2   mysql.ibd           private_key.pem  server-key.pem   undo_002
binlog.000002  binlog.000005  binlog.000008  ca-key.pem     client
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/705172
推荐阅读
相关标签
  

闽ICP备14008679号