centos7安装和卸载MySQL8.0

一.卸载Mysql

1.关闭MySQL服务

sql 复制代码
systemctl stop mysqld

2.使用 rpm 命令查看已安装的安装包

sql 复制代码
rpm -qa|grep mysql

3.使用yum卸载安装的mysql

sql 复制代码
yum remove  mysql mysql-server mysql-libs mysql-server

4.查询剩余的安装包

sql 复制代码
rpm -qa|grep mysql

这里是我的centos7上的mysql安装包 (删除以自己机器上的为准)

sql 复制代码
mysql-community-libs-8.0.35-1.el7.x86_64
mysql80-community-release-el7-7.noarch
mysql-community-client-8.0.35-1.el7.x86_64
mysql-community-common-8.0.35-1.el7.x86_64
mysql-community-icu-data-files-8.0.35-1.el7.x86_64
mysql-community-client-plugins-8.0.35-1.el7.x86_64
mysql-community-server-8.0.35-1.el7.x86_64

5.移除掉第4步查询的安装包

sql 复制代码
rpm -ev mysql-community-libs-8.0.35-1.el7.x86_64
rpm -ev mysql80-community-release-el7-7.noarch
rpm -ev mysql-community-client-8.0.35-1.el7.x86_64
rpm -ev mysql-community-common-8.0.35-1.el7.x86_64
rpm -ev mysql-community-icu-data-files-8.0.35-1.el7.x86_64
rpm -ev mysql-community-client-plugins-8.0.35-1.el7.x86_64
rpm -ev mysql-community-server-8.0.35-1.el7.x86_64

6.删除残余的安装包

sql 复制代码
rm -rf mysql*

7.继续查找是否还有残留文件

sql 复制代码
find / -name mysql

这里是我的centos7上的mysql文件 (删除以自己机器上的为准)

/etc/logrotate.d/mysql
/usr/bin/mysql
/usr/lib64/mysql
/www/backup/database/mysql
/www/server/mysql
/var/lib/mysql
/var/lib/mysql/mysql

8.移除第7步查询残留文件

sql 复制代码
rm -rf /etc/logrotate.d/mysql
rm -rf /usr/bin/mysql
rm -rf /usr/lib64/mysql
rm -rf /www/backup/database/mysql
rm -rf /www/server/mysql
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql

9.最后在检查一遍

sql 复制代码
rpm -qa|grep mysql
find / -name mysql

二.安装Mysql

1.下载 MySQL yum包

sql 复制代码
cd ~
wget http://repo.mysql.com/mysql80-community-release-el7-7.noarch.rpm

2.安装MySQL源

sql 复制代码
rpm -Uvh mysql80-community-release-el7-7.noarch.rpm

3.安装MySQL服务端

sql 复制代码
yum -y install mysql-community-server --nogpgcheck

4.启动MySQL

sql 复制代码
systemctl start mysqld.service

5.检查是否启动成功

sql 复制代码
systemctl status mysqld.service

6.获取临时密码,MySQL8.0为root用户随机生成了一个密码

sql 复制代码
grep 'temporary password' /var/log/mysqld.log

2023-10-29T02:26:57.372742Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: JmKm0eo4wa:t
2023-12-12T08:45:16.736322Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: **2FNIvbBwDF

首次安装查询只有一条记录

注:第一个是上次安装时的密码,删除的时候可能没有删除掉。这里我们复制第二个密码登录即可。

7.通过临时密码登录MySQL,进行修改密码操作

sql 复制代码
mysql -u root -p

8.全局修改一下MySQL的密码规则

sql 复制代码
set global validate_password.policy=0;
set global validate_password.length=1;

9.授权其他机器远程登录

sql 复制代码
-- 使用mysql库
use mysql; 

-- 查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。
select host, user, authentication_string, plugin from user; 

-- 将root用户的host改为%    %为所有用户都可连接
update user set host='%' where user='root';

-- 授权 root 用户的所有权限并设置远程访问
-- GRANT ALL ON 表示所有权限,% 表示通配所有 host,可以访问远程。
-- 授权语句要多执行两遍
grant all on *.* to 'root'@'%';

-- 刷新授权
flush privileges;

-- 这时你去拿navicat去连发现连不上
-- 这是因为 MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。
-- 此问题有两种方法
-- 一种是更新 Navicat 驱动来解决此问题
-- 另一种是将 MySQL 用户登录的加密规则修改为 mysql_native_password
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

-- 刷新授权
flush privileges;

如果连接一会儿还是连不上就得看看是不是linux防火墙端口没有放行

python 复制代码
# 查看防火墙运行状态
firewall-cmd --state

# 启动防火墙
sudo systemctl start firewalld

# 开启linux端口号(比如端口号:3306)
firewall-cmd --zone=public --add-port=3306/tcp --permanent

# 重启防火墙
firewall-cmd --reload

# 查看放行的端口号
firewall-cmd --zone=public --list-ports
相关推荐
程序员南飞1 小时前
ps aux | grep smart_webrtc这条指令代表什么意思
java·linux·ubuntu·webrtc
StrokeAce1 小时前
linux桌面软件(wps)内嵌到主窗口后的关闭问题
linux·c++·qt·wps·窗口内嵌
热爱嵌入式的小许5 小时前
Linux基础项目开发1:量产工具——显示系统
linux·运维·服务器·韦东山量产工具
韩楚风9 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学9 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO9 小时前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
momo小菜pa9 小时前
【MySQL 06】表的增删查改
数据库·mysql
Pythonliu79 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我9 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
追风赶月、9 小时前
【Linux】进程地址空间(初步了解)
linux