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

本文介绍了如何解决MySQL 8.0.18大小写敏感问题,包括查看当前状态,理解lower_case_table_names参数,以及在安装后重新初始化MySQL数据库的详细步骤,如停止服务、删除错误日志、删除并重建数据库目录、配置my.cnf文件,最后初始化MySQL并登录,确认配置生效。
摘要由CSDN通过智能技术生成

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     |
+------------------------+-------+

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 设置。

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

3、重新初始化MySQL数据库

3.1、停止服务

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

systemctl stop mysqld.service

3.2、删除错误日志

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

rm /var/log/mysqld.log

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
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值