centos7安装mysql8.0,配置大小写不敏感和查询语句groupby报错解决

centos7安装mysql8.0,配置大小写不敏感和查询语句groupby报错解决

一、准备工作
1.查看是否有安装过mysql

rpm -qa | grep -i mysql

2.删除mysql

yum -y remove MySQL-*

一般用rpm -e 的命令删除mysql,这样表面上删除了mysql,可是mysql的一些残余程序仍然存在,并且通过第一步的方式也查找不到残余,而yum命令比较强大,可以完全删除mysql.(ps:用rpm删除后再次安装的时候会提示已经安装了,这就是rpm没删除干净的原因)

3.把所有出现的目录统统删除

find / -name mysql

查找mysql的一些目录,把所有出现的目录删除,可以使用rm -rf 路径,删除时请注意,一旦删除无法恢复。

4.删除配置文件

rm -rf /etc/my.cnf

5.删除mysql的默认密码

rm -rf /root/.mysql_sercret

删除mysql的默认密码,如果不删除,以后安装mysql这个sercret中的默认密码不会变,使用其中的默认密码就可能会报类似Access denied for user ‘root@localhost’ (using password:yes)的错误.

五步完成之后,这样mysql就全部删除干净了,若没安装过mysql可忽略以上步骤

二、正式开始
1、下载mysql8并安装

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install -y  mysql-community-server

提示下载插件选择:y。

2、编辑my.cnf文件修改配置

vi /etc/my.cnf

3、增加以下内容,配置mysql大小写不敏感

lower_case_table_names = 1

4、增加以下内容,配置groupby报错问题

 sql_mode ='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION'

5、初始化mysql

mysqld --initialize

6、生成初始登录的密码,输入以下命令查看

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

白色框框处事初始化密码
7、给文件夹赋予权限

chown mysql:mysql /var/lib/mysql -R

8、开启mysql服务,设置开机自启

systemctl start mysqld.service
systemctl enable mysqld.service

9、登录mysql,输入初始登录密码

mysql -uroot -p

10、输入上张图片里得出的密码,白色框框里的,我这里是自己安装得出的密码,大家以自己的为准
centos7安装mysql8.0,配置大小写不敏感和查询语句groupby报错解决_第1张图片
11、登录mysql以后修改登录密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

12、设置mysql允许远程访问
12-1、先查看所有数据库并且使用mysql库

show databases;

centos7安装mysql8.0,配置大小写不敏感和查询语句groupby报错解决_第2张图片
12-2、使用mysql库

use mysql;

13设置允许使用远程访问

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

14、刷新修改的配置

flush privileges;

15、查看在my.cnf设置的取消groupby报错sql_mode是否生效

select @@GLOBAL.sql_mode;

centos7安装mysql8.0,配置大小写不敏感和查询语句groupby报错解决_第3张图片
16、查看在my.cnf设置的大小写不敏感是否生效

show variables like 'lower%';

centos7安装mysql8.0,配置大小写不敏感和查询语句groupby报错解决_第4张图片
至此,mysql安装配置完毕

你可能感兴趣的:(mysql,数据库,sql,centos)