1、查看是否已经安装mysql
ps aux | grep mysql
2、启动mysql
systemctl start mysql
提示内容 Failed to start mysql.service: Unit not found. 显示未找到,可能是服务名错误或者未安装。
注:在 CentOS/RHEL 7 上,MySQL 的服务名通常是 mysqld(不是 mysql),用mysqld再次尝试启动
如果还提示: Unit mysqld.service not found,说明服务未安装。
3、再次使用ps检查进程残留,如果存在就使用kill命令强制杀死。
sudo kill -9 <PID>
4、使用命令 rpm -qa | grep mysql | xargs yum -y remove
卸载mysql
发现错误:Error: Need to pass a list of pkgs to remove
表示|xargs 传递的参数格式不符合 yum remove 的要求
采用其他方法卸载mysql,并清理相关文件
//卸载mysql包
sudo yum remove $(rpm -qa | grep -i mysql)
//清理残留文件
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/my.cnf
sudo rm -rf /etc/my.cnf.d
//清理yum缓存
sudo yum clean all
5、重新下载安装mysql
//下载MySQL安装包:
wget http://repo.mysql.com/mysql57-community-release-el7.rpm
//安装MySQL源:
rpm -ivh mysql57-community-release-el7.rpm
//安装MySQL服务器:
yum install -y mysql-community-server
出现错误:The GPG keys listed for the "MySQL 5.7 Community Server" repository are already installed but they are not correct for this package. Check that the correct key URLs are configured for this repository.
这个是密钥的问题
解决方法:
- 删除旧密钥(如果出现package gpg-pubkey-xxxx is not installed,不用管)
sudo rpm -e gpg-pubkey-5072e1f5- # MySQL 5.7 的旧密钥(如果有)
sudo rpm -e gpg-pubkey-3a79bd29- # 可能存在的其他 MySQL 密钥
- 重新导入正确的 MySQL 5.7 GPG 密钥
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
- 查看密钥是否成功导入
rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n' | grep mysql
- 得到类似结果
gpg-pubkey-3a79bd29-xxxxxxx MySQL Release Engineering <mysql-build@oss.oracle.com>
- 清理 YUM/DNF 缓存并重新安装
sudo yum clean all
sudo yum remove mysql-community-release
sudo yum install mysql-community-server-5.7.44-1.el7
//安装完成后,启动mysql并检查mysql的状态,确保其状态是runing
systemctl start mysqld
systemctl status mysqld
6、使用mysql -u root -p
尝试登录(初始密码在日志里)
使用sudo grep 'temporary password' /var/log/mysqld.log
命令得到如下回复2025-04-23T02:06:20.556045Z 1 [Note] A temporary password is generated for root@localhost:XXXXXXX
,最后localhost后边的XXXXXXX就是初始密码。
登录成功后出现此界面:
mysql>