文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

解决mysql8.0 lower_case_table_names 大小写敏感设置问题

2023-08-31 07:48

关注

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

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

根据网上资料得知mysql8.0之后,lower_case_table_names 配置必须在安装好 MySQL 后,初始化 mysql 配置时才有效。一旦 mysql 启动后,再设置是无效的,而且启动报错。

需要重新初始化MySQL数据库,并且在初始化过程中,在初始化之前将lower_case_table_names = 1写入到my.cnf文件中

但是我都已经安装启动了,那就继续坑呗

1 在修改配置之前,请先把 mysql 服务停止

systemctl stop mysqld.service

2 删除错误日志

为了方便查看 mysql 的错误日志,可以先将 /var/log/mysqld.log 删除。我第二次尝试时不删除日志也没问题。

rm /var/log/mysqld.log

[root@iZbp19o1a0ypknm0yq2tifZ /]# systemctl stop mysqld.service[root@iZbp19o1a0ypknm0yq2tifZ /]# rm /var/log/mysqld.logrm:是否删除普通文件 "/var/log/mysqld.log"?y

3 递归删除 /var/lib/mysql 目录下面的内容

cd /var/lib/mysql #进入目录

rm -rf * #递归删除

[root@iZbp19o1a0ypknm0yq2tifZ /]# cd /var/lib/mysql[root@iZbp19o1a0ypknm0yq2tifZ mysql]# lsauto.cnf       binlog.index  ca.pem           client-key.pem     #ib_16384_1.dblwr  ibdata1       #innodb_temp  mysql.ibd           private_key.pem  server-cert.pem  sys       undo_002binlog.000001  ca-key.pem    client-cert.pem  #ib_16384_0.dblwr  ib_buffer_pool     #innodb_redo  mysql         performance_schema  public_key.pem   server-key.pem   undo_001[root@iZbp19o1a0ypknm0yq2tifZ mysql]# rm -rf * [root@iZbp19o1a0ypknm0yq2tifZ mysql]# ls[root@iZbp19o1a0ypknm0yq2tifZ mysql]#

4 删除原目录,创建数据库目录并授权

rm -rf /var/lib/mysql

上面将已存在的数据库目录 /var/lib/mysql 删除,下面将手动创建一个空目录且进行授权

进入/var/lib 目录,创建目录:

cd /var/lib

mkdir mysql

赋权:

chown -R mysql:mysql mysql

查看赋权是否成功:ll|grep mysql

[root@iZbp19o1a0ypknm0yq2tifZ lib]# ll|grep mysqldrwxr-x--x   2 mysql  mysql   4096 2月  28 15:32 mysqldrwxr-x---   2 mysql  mysql   4096 9月  14 02:29 mysql-filesdrwxr-x---   2 mysql  mysql   4096 9月  14 02:29 mysql-keyring

5 配置 lower_case_table_names

下面的命令

vim /etc/my.cnf

配置文件中加上 lower_case_table_names=1 即可。 #是否对sql语句大小写敏感,1表示不敏感

我是直接用sftp下载my.cnf修改,然后再上传覆盖的

另外,我有自定义目录,所以我的my.cnf文件里 凡是 /mnt/mysql8data 的都替换为 /var/lib

6初始化 MySql

默认安装目录应该是下面的命令

mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql --basedir=/var/lib/mysql --datadir=/var/lib/mysql

启动服务:

systemctl start mysqld.service

systemctl status mysqld.service

7 登录 MySql并修改密码

查初始密码并复制出来,fzue;+r=9hjP 就是我的密码

cat /var/log/mysqld.log |grep temp

[root@iZbp19o1a0ypknm0yq2tifZ lib]# cat /var/log/mysqld.log |grep temp2023-02-28T08:45:48.759373Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: fzue;+r=9hjP[root@iZbp19o1a0ypknm0yq2tifZ lib]#

用初始密码登录:mysql -uroot -p

修改密码:alter user 'root'@'localhost' identified by '密码';

用Navicat测试还不能登录,还需要刷新host

use mysql;

update user set host = '%' where user ='root';

flush privileges;

8 参考以前写的文章重新修改mysql数据目录

转到链接文章中第7点开始修改。

https://blog.csdn.net/yangyong1250/article/details/129183678?spm=1001.2014.3001.5501

来源地址:https://blog.csdn.net/yangyong1250/article/details/129262554

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯