Centos7安装mysql8

本记录在Centos7下面,重新安装mysql8的全过程;

一、完全卸载 MySQL8

1.1 停止 MySQL 服务
systemctl stop mysqld
pkill mysqld


1.2 查找并删除所有 MySQL 相关包
# 查找所有 MySQL 相关的 RPM 包
rpm -qa | grep -i mysql

# 删除所有 MySQL 包
rpm -qa | grep -i mysql | xargs rpm -e --nodeps

# 查找并删除 MariaDB 相关包
rpm -qa | grep -i mariadb
rpm -qa | grep -i mariadb | xargs rpm -e --nodeps


1.3 彻底清理文件和目录
# 删除 MySQL 配置文件和数据目录
rm -rf /var/lib/mysql
rm -rf /etc/my.cnf
rm -rf /etc/my.cnf.d
rm -rf /var/log/mysqld.log

# 删除 MySQL 用户和组
userdel mysql
groupdel mysql

# 清理临时文件和缓存
rm -rf /tmp/mysql*
rm -rf /var/tmp/mysql*

1.4 删除 YUM 仓库配置和清理缓存
# 删除 MySQL 仓库文件
rm -rf /etc/yum.repos.d/mysql-community*
rm -rf /etc/yum.repos.d/mysql*

# 清理 YUM 缓存
yum clean all
rm -rf /var/cache/yum

二、重新安装 MySQL 8

2.1 下载并安装 MySQL 仓库

# 下载 MySQL 8 仓库配置
wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm

# 安装仓库
rpm -ivh mysql80-community-release-el7-7.noarch.rpm

2.2 安装 MySQL 8(跳过 GPG 检查)
# 安装 MySQL 服务器和客户端(跳过 GPG 验证)
yum install mysql-community-server mysql-community-client --nogpgcheck -y

2.3 备选安装命令(如果上面失败)
# 禁用 GPG 检查并安装
yum --nogpgcheck install mysql-community-server mysql-community-client -y

 

三、配置和启动 MySQL8

3.1 启动 MySQL 服务
# 启动服务
systemctl start mysqld

# 设置开机自启
systemctl enable mysqld

# 检查状态
systemctl status mysqld

3.2 获取初始密码
# 查看临时 root 密码
grep 'temporary password' /var/log/mysqld.log

3.3 安全配置
# 运行安全配置脚本
mysql_secure_installation

安全配置步骤:

输入上面查到的临时密码

设置新密码

移除匿名用户 (输入 Y)

禁止 root 远程登录 (输入 Y)

删除测试数据库 (输入 Y)

重新加载权限表 (输入 Y)

四、验证安装MySQL8

4.1 测试连接
# 使用新密码登录
mysql -u root -p

4.2 在 MySQL 中执行验证命令
-- 显示所有数据库
SHOW DATABASES;

-- 显示 MySQL 版本
SELECT VERSION();

-- 退出 MySQL
EXIT;

4.3 检查版本
mysql --version

 

五、一键清理和重装脚本

#!/bin/bash
echo "=== 开始完全重装 MySQL ==="

# 停止服务
echo "停止 MySQL 服务..."
systemctl stop mysqld 2>/dev/null
pkill mysqld 2>/dev/null

# 删除 RPM 包
echo "删除 MySQL 包..."
rpm -qa | grep -i mysql | xargs rpm -e --nodeps 2>/dev/null
rpm -qa | grep -i mariadb | xargs rpm -e --nodeps 2>/dev/null

# 清理文件
echo "清理文件和目录..."
rm -rf /var/lib/mysql
rm -rf /etc/my.cnf*
rm -rf /etc/my.cnf.d
rm -rf /var/log/mysqld*
rm -rf /tmp/mysql*
rm -rf /etc/yum.repos.d/mysql-community*

# 清理缓存
yum clean all

# 安装仓库
echo "安装 MySQL 仓库..."
wget -q https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
rpm -ivh mysql80-community-release-el7-7.noarch.rpm

# 安装 MySQL
echo "安装 MySQL..."
yum install mysql-community-server mysql-community-client --nogpgcheck -y

# 启动服务
echo "启动 MySQL..."
systemctl start mysqld
systemctl enable mysqld

# 显示初始密码
echo "=== 安装完成 ==="
echo "初始密码:"
grep 'temporary password' /var/log/mysqld.log 2>/dev/null || echo "请查看 /var/log/mysqld.log 获取密码"

5.2 执行一键脚本


# 给脚本执行权限
chmod +x reinstall-mysql.sh

# 运行脚本
./reinstall-mysql.sh

六、故障排除

6.1 检查依赖
# 安装可能缺失的依赖
yum install libaio net-tools -y

6.2 检查防火墙设置
# 如果需要远程访问,开放 3306 端口
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload

6.3 检查 SELinux 状态
# 临时禁用 SELinux
setenforce 0

# 查看 SELinux 状态
getenforce

七、重要注意事项

数据备份:在执行卸载前,请确保已备份重要数据

密码安全:安装完成后立即修改默认密码

网络连接:确保服务器可以访问互联网以下载安装包

权限问题:如果遇到权限问题,使用 chown 和 chmod 命令调整

服务状态:安装完成后确认 MySQL 服务正常运行

八、验证安装成功的标志

✅ systemctl status mysqld 显示 active (running)

✅ mysql --version 正确显示版本信息

✅ 可以使用 mysql -u root -p 成功登录

✅ 可以执行基本的 SQL 命令

posted @ 2025-10-04 16:28  李文学  阅读(12)  评论(0)    收藏  举报