【Mysql8.0取消严格区分大小】已安装的mysql8.0取消严格区分大小写及mysql8.0重装与赋权限详解(2023年亲测有效)

【写在前面】其实故事要从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就是关闭了。

在这里插入图片描述

关闭数据库服务

命令行:systemctl stop mysqld.service

在这里插入图片描述

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

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

在这里插入图片描述

5、启动赋权

5.1 启动服务

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

启动命令:systemctl start mysqld.service

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

进入命令:mysql -u root -p

展示命令:show variables like ‘lower_case_table_names’;

在这里插入图片描述

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

在这里插入图片描述

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

5.4.1 查看权限

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

发现root用户只能localhost访问。

在这里插入图片描述

5.4.2 修改权限

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

命令行(必须):flush privileges;

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

在这里插入图片描述

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

在这里插入图片描述

6、片尾彩蛋

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

皇榜[点击此处进入]

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/0e04c91b92.html