整合出自:

  • CentOS8 卸载安装 mysql8.0
  • Linux 安装 MySQL

# 一、卸载 mysql

1、查看 mysql 安装了哪些东西

[root@iZuf65saybbvavxkh38cdiZ mysql]# rpm -qa |grep -i mysql
mysql80-community-release-el8-1.noarch
mysql-community-server-8.0.27-1.el8.x86_64
mysql-community-client-plugins-8.0.27-1.el8.x86_64
mysql-community-libs-8.0.27-1.el8.x86_64
mysql-community-client-8.0.27-1.el8.x86_64
bt-mysql57-5.7.34-1.el8.x86_64
mysql-community-common-8.0.27-1.el8.x86_64
[root@iZuf65saybbvavxkh38cdiZ mysql]#

2、通过 yum remove 将以上内容删除

yum remove mysql80-community-release-el8-1.noarch
yum remove mysql-community-server-8.0.27-1.el8.x86_64
yum remove mysql-community-client-plugins-8.0.27-1.el8.x86_64
yum remove mysql-community-libs-8.0.27-1.el8.x86_64
yum remove mysql-community-client-8.0.27-1.el8.x86_64
yum remove bt-mysql57-5.7.34-1.el8.x86_64
yum remove mysql-community-common-8.0.27-1.el8.x86_64

3、检查是否卸载干净

rpm -qa |grep -i mysql

4、查找 mysql 相关目录

[root@iZuf65saybbvavxkh38cdiZ mysql]# find / -name mysql
find: ‘/proc/29250/task/29250/net’: Invalid argument
find: ‘/proc/29250/net’: Invalid argument
/etc/logrotate.d/mysql
/var/lib/selinux/targeted/active/modules/100/mysql
/var/lib/selinux/targeted/tmp/modules/100/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/bin/mysql
/usr/lib64/mysql
/usr/share/selinux/targeted/default/active/modules/100/mysql

同时对这些目录进行删除

rm -rf /etc/logrotate.d/mysql
rm -rf /var/lib/selinux/targeted/active/modules/100/mysql
rm -rf /var/lib/selinux/targeted/tmp/modules/100/mysql
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /usr/bin/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/share/selinux/targeted/default/active/modules/100/mysql

5、删除 /etc/my.cnf 文件

rm -rf /etc/my.cnf

6、删除 /var/log/mysql/mysqld.log 文件。

rm -rf /var/log/mysql/mysqld.log

完成以上内容则卸载完成 mysql

# 二、安装 MySQL 的准备工作

1、查看是否有安装 mariadb,该软件与 MySQL 数据库有冲突,需要手动卸载

# 如果是 CentOS7 可以检测出已经安装了 mariadb
rpm -qa | grep mariadb

2、移除 MySQL 相关的软件
如果系统中没有安装过与 MySQL 相关的软件,直接跳到下一步

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

3、关闭 selinux

vi /etc/selinux/config

找到

SELINUX=enforcing

修改

SELINUX=disabled

4、安装 openssl-devel(已安装跳过)

yum install openssl-devel -y

# 三、安装 MysQL

1、官网链接下载

在这里插入图片描述
2、选择对应版本
在这里插入图片描述
3、下载到自己安装的路径下

mkdir /home/softwore/mysql-8.0.35
cd /home/softwore/mysql-8.0.35
wegt https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.35-1.el8.x86_64.rpm-bundle.tar

4、解压

tar -xvf mysql-8.0.35-1.el8.x86_64.rpm-bundle.tar

在这里插入图片描述
5、使用 rpm 安装
必须按照顺序执行命令,否则会出现依赖错误的报错

rpm -ivh mysql-community-common-8.0.35-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.35-1.el8.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.35-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-8.0.35-1.el8.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.35-1.el8.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.35-1.el8.x86_64.rpm
rpm -ivh mysql-community-server-8.0.35-1.el8.x86_64.rpm

在这里插入图片描述
6、查看已安装的 MySQL 的版本

mysql --version

在这里插入图片描述

7、配置 my.cof
注意:MySQL 不区分表名、数据库名和数据库模式名的大小写,需要先加 lower_case_table_names=1,mysql8.0 只能初始化时候配置,后面修改比较麻烦

vi /etc/my.cnf

8、启动 mysql

#开机自启
systemctl enable mysqld
#启动
systemctl start mysqld
#查看状态
systemctl status mysqld
#重启
systemctl restart mysqld
#关闭
systemctl stop mysqld
#关闭开机自启
systemctl disable mysqld

在这里插入图片描述
启动成功

# 四、修改密码

1、获取 root 用户的初始密码

cat /var/log/mysqld.log | grep root@localhost

在这里插入图片描述
2、使用 root 用户登录到 MySQL 服务

mysql -u root -p

在这里插入图片描述
3、修改 root 的初始化密码

alter user root@localhost identified by 'Abu123456.';

4、开放远程访问权限(根据自己需求)进入 mysql

#切换 mysql 数据库
use mysql;
#查看用户的访问权限  localhost:只可以本地访问 %:允许任意地方访问
select host, user, plugin from user;

在这里插入图片描述

#设置 root 用户任意地方可以访问
update user set host='%' where user='root';
#刷新权限
flush privileges;
#再次查看
select host, user, plugin from user;

5、修改密码策略

#修改密码策略
alter user 'root'@'%' identified with mysql_native_password by 'Abu123456.';
#刷新权限
flush privileges;