我们知道在Linux环境下默认是区分大小写的,而MySQL在官方文档中明确表示了,一旦MySQL启动后,将无法再进行配置,只能进行重装,如果数据不重要倒是无所谓,但是如果有重要数据那是真的大坑。

如果启动之后再去更改/etc/my.cnf,那么重启MySQL就会出现如下错误:

Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for details.

试过很多办法,最后的解决方案还是只能重装MySQL。




安装centos8客户机操作系统已禁用cpu centos8安装问题_linux 安装mysql8


下面开始教大家干净的卸载MySQL。

一 、卸载MySQL

1、关闭MySQL

service mysqld stop

2、检查MySQL的状态

service mysqld status

如果是灰色的则MySQL成功关闭。

3、查看安装的mysql


安装centos8客户机操作系统已禁用cpu centos8安装问题_centos8无法进入图形界面_02

查看CentOS系统中已安装的MySQL


4、卸载MySQL

rpm -ev mysql-8.0.17-3.module_el8.0.0+181+899d6349.x86_64 --nodepsrpm -ev mysql-errmsg-8.0.17-3.module_el8.0.0+181+899d6349.x86_64 --nodepsrpm -ev mysql-server-8.0.17-3.module_el8.0.0+181+899d6349.x86_64  --nodepsrpm -ev mysql-common-8.0.17-3.module_el8.0.0+181+899d6349.x86_64 --nodeps

5、删除MySQL相关的目录

find / -name mysql


安装centos8客户机操作系统已禁用cpu centos8安装问题_centos安装mysql8_03

删除MySQL相关的目录


rm -rf /var/lib/mysqlrm -rf /var/lib/mysql/mysqlrm -rf /var/log/mysqlrm -rf /usr/bin/mysqlrm -rf /usr/lib64/mysqlrm -rf /usr/share/selinux/packages/mysqlrm -rf /usr/share/mysql

6、删除my.cnf

rm -rf /etc/my.cnf

7、检查卸载情况

rpm -qa|grep -i mysql

如果显示为空就是已经卸载干净了。

二、安装MySQL

1、切换用户

通过以root用户或具有sudo特权的用户身份使用CentOS软件包管理器来安装MySQL 8.0服务器

sudo su

2、安装MySQL8

sudo dnf install @mysql

注意:我们这个时候MySQL已经安装好了,但是千万不要启动!不要启动!不要启动!重要的事情说三遍,要不你还要把第一部分的内容重新做一遍。

3、配置my.cnf

vim /etc/my.cnf


安装centos8客户机操作系统已禁用cpu centos8安装问题_linux安装mysql8_04

MySQL启动前先配置my.cnf


4、自动启动

sudo systemctl enable --now mysqld

5、启动MySQL

service mysqld start

首次启动一般时间会长一点,大约需要十几秒,后面就是秒开秒关了。

然后检查一下是否启动成功。

service mysqld status

如果出现下图,说明启动成功。


安装centos8客户机操作系统已禁用cpu centos8安装问题_linux 安装mysql8_05

MySQL运行状态


6、进入MySQL

mysql -u root -p

首次进入不需要密码,直接Enter就好了。

7、检查大小写敏感

进入mysql控制台之后会出现mysql>,这时我们就可以通过命令操作MySQL了。

show variables like '%lower%';

如果出现以下情况,那么恭喜你这次MySQL大小写敏感的配置就算成功完成了。


安装centos8客户机操作系统已禁用cpu centos8安装问题_centos8安装mysql_06

MySQL大小写敏感的配置


其中 lower_case_table_name = 1;就是大小写敏感的关键,如果是=0,那么就配置失败了,唯一办法只有重装MySQL,这个坑足足跳了一天才跳过去。

后记:

CentOS 8 随MySQL 8.0一起发行,安装就像键入dnf install @mysql一样简单。但是往往简单就意味着容易踩坑,比如这个大小写敏感问题。