天天看点

CentOS8系统下安装MySQL8.x遇到的坑CentOS8系统下安装MySQL8.x遇到的坑前言:结论:

CentOS8系统下安装MySQL8.x遇到的坑

前言:

我们知道在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。欲哭无泪。。。

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

一 、卸载MySQL

1.关闭MySQL

service mysqld stop
           

2.检查MySQL的状态

service mysqld status
           

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

3.查看安装的mysql

rpm -qa|grep -i mysql
           
CentOS8系统下安装MySQL8.x遇到的坑CentOS8系统下安装MySQL8.x遇到的坑前言:结论:

4.卸载MySQL

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

5.删除MySQL相关的目录

find / -name mysql
           
CentOS8系统下安装MySQL8.x遇到的坑CentOS8系统下安装MySQL8.x遇到的坑前言:结论:
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /var/log/mysql
rm -rf /usr/bin/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/share/selinux/packages/mysql
rm -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
           
[mysqld]
lower_case_table_names=1
           
CentOS8系统下安装MySQL8.x遇到的坑CentOS8系统下安装MySQL8.x遇到的坑前言:结论:

4.自动启动

sudo systemctl enable --now mysqld
           

5.启动MySQL

service mysqld start
           

首次启动需要十几秒,后面就是秒开秒关了。

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

service mysqld status
           

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

CentOS8系统下安装MySQL8.x遇到的坑CentOS8系统下安装MySQL8.x遇到的坑前言:结论:

6.进入MySQL

mysql -u root -p
           

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

7.检查大小写敏感

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

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

CentOS8系统下安装MySQL8.x遇到的坑CentOS8系统下安装MySQL8.x遇到的坑前言:结论:

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

结论:

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

继续阅读