MySQL 8.0.29 RPM 安装教程(CentOS 7 / RHEL 7 详细步骤)附安装包
一、准备工作
1. 确保你是 root 用户,或者有 sudo 权限
安装软件一般得用管理员权限,你可以先用下面的命令看看自己是不是 root:
whoami
如果不是 root,你可能需要在每个命令前加 sudo
,或者直接切换到 root 用户:
su -
然后输入 root 密码。
2. 下载 mysql-8.0.29-1.el7.x86_64.rpm-bundle.tar 文件(如果你还没下载)
安装包下载:https://pan.quark.cn/s/a6b89cf058c1
选择 Linux - Generic,然后选 Compressed TAR Archive,找到对应 el7 x86_64 的版本,下载下来。
假设你已经下载到了 ~/Downloads/
目录下,文件名叫:
mysql-8.0.29-1.el7.x86_64.rpm-bundle.tar
如果你放到了别的目录,请自行修改下面的路径。
二、解压 RPM 包
这个文件是一个 tar 打包的多个 RPM 包,所以要先解压。
tar -xvf mysql-8.0.29-1.el7.x86_64.rpm-bundle.tar
执行完这个命令后,当前目录下会多出好几个 .rpm
文件,比如:
•mysql-community-common-8.0.29-1.el7.x86_64.rpm•
-
mysql-community-libs-8.0.29-1.el7.x86_64.rpm•
-
mysql-community-client-8.0.29-1.el7.x86_64.rpm•
-
mysql-community-server-8.0.29-1.el7.x86_64.rpm
不用管具体是哪些,我们接下来会挑主要的安装。
三、先删掉可能冲突的 MariaDB(如果有)
CentOS 7 默认可能会装 MariaDB(和 MySQL 类似的数据库),它可能会跟 MySQL 冲突,所以最好先删掉。
运行以下命令查看有没有装 MariaDB:
rpm -qa | grep mariadb
如果看到类似 mariadb-libs-5.5.68-1.el7.x86_64
这样的东西,就把它卸载掉:
sudo rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
注意把上面的包名换成你实际查出来的那个,名字可能稍有不同。
四、安装 MySQL RPM 包(按顺序安装)
推荐按以下顺序安装以下几个主要的 RPM 包(你刚才解压出来的):
-
common
-
libs.
-
client
-
server
你可以用 ls
命令先看看解压出来哪些 rpm 文件:
ls -l *.rpm
找到这几个文件(名字可能略有不同,但大致格式一致):
- •
mysql-community-common-8.0.29-1.el7.x86_64.rpm
- •
mysql-community-libs-8.0.29-1.el7.x86_64.rpm
- •
mysql-community-client-8.0.29-1.el7.x86_64.rpm
- •
mysql-community-server-8.0.29-1.el7.x86_64.rpm
然后 按顺序一个一个安装,比如:
sudo rpm -ivh mysql-community-common-8.0.29-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-libs-8.0.29-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-client-8.0.29-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-server-8.0.29-1.el7.x86_64.rpm
如果提示依赖问题,可以尝试加上
--nodeps
参数(不推荐,最好解决依赖),或者确保你按顺序安装。
更懒人办法(推荐):
如果你不想一个一个敲,可以把这 4 个包名找出来,然后用一条命令安装(按实际文件名改):
sudo rpm -ivh mysql-community-common-8.0.29-1.el7.x86_64.rpm \ mysql-community-libs-8.0.29-1.el7.x86_64.rpm \ mysql-community-client-8.0.29-1.el7.x86_64.rpm \ mysql-community-server-8.0.29-1.el7.x86_64.rpm
如果你愿意,也可以用
yum localinstall
来自动处理依赖,但这里用 rpm 也行。
五、启动 MySQL 服务
安装完成后,启动 MySQL:
sudo systemctl start mysqld
设置开机自启:
sudo systemctl enable mysqld
检查是否启动成功:
sudo systemctl status mysqld
看到 “active (running)” 就说明启动成功了。
六、查找 MySQL 初始密码
MySQL 8.0 第一次启动后会生成一个 临时 root 密码,在日志里。
运行以下命令查看:
sudo grep 'temporary password' /var/log/mysqld.log
你会看到类似这样的输出:
2024-06-01T02:03:45.123456Z 6 [Note] A temporary password is generated for root@localhost: Abc123!@#
其中 Abc123!@#
就是你的 初始密码,一定要记下来,接下来登录要用。
如果你没找到这行,可能是日志位置不同,或者你系统日志文件名不是 mysqld.log,可以检查下
/var/log/
下的相关日志。
七、用初始密码登录 MySQL
运行:
mysql -uroot -p
然后输入你刚才找到的 临时密码(比如 Abc123!@#),注意密码是看不见的,输完直接回车。
八、修改 root 密码(必须做)
MySQL 8.0 要求密码比较复杂,初始密码登录后 必须马上改密码,不然你啥也干不了。
登录成功后,执行:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
注意:'你的新密码' 要设成一个 符合强度要求 的密码,比如包含大小写字母、数字和特殊符号,且长度足够(比如
MyNewPass123@
)。
如果你不想设太复杂的密码,可以临时修改 MySQL 的密码策略(不推荐用于生产环境):
SET GLOBAL validate_password.policy=LOW; SET GLOBAL validate_password.length=4;
然后再执行改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
⚠️ 但强烈建议用一个安全的密码!
改完之后,你可以用新密码重新登录测试:
mysql -uroot -p