【Mysql8.0取消严格区分大小】已安装的mysql8.0取消严格区分大小写及mysql8.0重装与赋权限详解(2023年亲测有效)
作者:mmseoamin日期:2024-01-25

【写在前面】其实故事要从my.cnf为空,且lower-case-table-names为0开始,linux环境下mysql8.0及其之后的版本对表名和数据库是严格区分大小写的,从而导致我们运行项目时候会报错Table xxx.QRTZ_LOCKS doesn`t exist。但是我已经装好了mysql8.0咋整?接下来跟着我的节奏,只需要5个步骤就能带你解决这个问题。

文章目录

  • 1、停服务
  • 2、导数据备份
  • 3、删目录
  • 4、初始化
    • 4.1 修改my.cnf
    • 4.2 初始化数据库(重装)
    • 5、启动赋权
      • 5.1 启动服务
      • 5.2进入mysql查看表大小写限制
      • 5.3 修改密码
      • 5.4 本地访问不了服务器数据库
        • 5.4.1 查看权限
        • 5.4.2 修改权限
        • 6、片尾彩蛋

          1、停服务

          查看服务器状态:

          命令行:systemctl status mysqld.service

          如果是running表示在跑,如果是dead就是关闭了。

          【Mysql8.0取消严格区分大小】已安装的mysql8.0取消严格区分大小写及mysql8.0重装与赋权限详解(2023年亲测有效),在这里插入图片描述,第1张

          关闭数据库服务

          命令行:systemctl stop mysqld.service

          【Mysql8.0取消严格区分大小】已安装的mysql8.0取消严格区分大小写及mysql8.0重装与赋权限详解(2023年亲测有效),在这里插入图片描述,第2张

          2、导数据备份

          去数据库表将所有的数据进行备份

          表备份命令(有待验证):mysqldump -uroot -p -A > all.sql

          另外将之前的文件做个全量备份

          文件备份命令:cp -av /var/lib/mysql /var/tmp/

          3、删目录

          删除原数据库存储数据的目录(上面一步备份了就别担心)

          命令行:rm -rf /var/lib/mysql

          4、初始化

          这里切记如果要让你的mysql不敏感校验大小写的问题,必须得执行下面的操作:

          4.1 修改my.cnf

          如果你的my.cnf是空的,那就先去加这两行

          修改配置文件/etc/my.cnf,在[mysqld]下添加

          [mysqld]
          lower-case-table-names=1
          

          修改命令:vim /etc/my.cnf 然后按i键盘,改好再按Esc,再输入‘:wq’即可。

          4.2 初始化数据库(重装)

          【核心设置】命令行:

          mysqld --initialize --user=mysql --lower-case-table-names=1

          初始化的时候切记有个初始密码哟,一定要记下来,如下图:

          【Mysql8.0取消严格区分大小】已安装的mysql8.0取消严格区分大小写及mysql8.0重装与赋权限详解(2023年亲测有效),在这里插入图片描述,第3张

          5、启动赋权

          5.1 启动服务

          当我们完成后就可以启动mysql服务了

          启动命令:systemctl start mysqld.service

          5.2进入mysql查看表大小写限制

          进入命令:mysql -u root -p

          展示命令:show variables like 'lower_case_table_names';

          【Mysql8.0取消严格区分大小】已安装的mysql8.0取消严格区分大小写及mysql8.0重装与赋权限详解(2023年亲测有效),在这里插入图片描述,第4张

          5.3 修改密码

          之前的密码相信很多人估计都记不住,我们要是自己修改的话执行如下:

          修改密码操作:

          命令行:alter user 'root'@'localhost' identified by 'XXXXXXXXX';

          命令行(必须):flush privileges;

          5.4 本地访问不了服务器数据库

          【mysql 常见错误1130】报错:

          1130 Host ... is not allowed to connect to this MySQL server

          【Mysql8.0取消严格区分大小】已安装的mysql8.0取消严格区分大小写及mysql8.0重装与赋权限详解(2023年亲测有效),在这里插入图片描述,第5张

          这样的话主要你本地没有被赋权限访问:

          5.4.1 查看权限

          查询命令:select host,user from user where user='root';

          发现root用户只能localhost访问。

          【Mysql8.0取消严格区分大小】已安装的mysql8.0取消严格区分大小写及mysql8.0重装与赋权限详解(2023年亲测有效),在这里插入图片描述,第6张

          5.4.2 修改权限

          命令行:update user set host='%' where user='root';

          命令行(必须):flush privileges;

          上面两个命令行记得一起依次执行哟,最后一个就是让调整生效的命令。

          【Mysql8.0取消严格区分大小】已安装的mysql8.0取消严格区分大小写及mysql8.0重装与赋权限详解(2023年亲测有效),在这里插入图片描述,第7张

          最后本地测试就可以连接成功啦!

          【Mysql8.0取消严格区分大小】已安装的mysql8.0取消严格区分大小写及mysql8.0重装与赋权限详解(2023年亲测有效),在这里插入图片描述,第8张

          6、片尾彩蛋

          这篇文章如若对您有帮助的话,想支持博主的可以上皇榜看看哟,

          皇榜[点击此处进入]