MySQL8.0 版本安装部署
- [CentOS7 安装 MySQL 8.0.17(RPM方式)实操记录(含报错全解析)](#CentOS7 安装 MySQL 8.0.17(RPM方式)实操记录(含报错全解析))
-
- 一、准备工作
-
- [1.1 下载MySQL 8\.0\.17 RPM安装包](#1.1 下载MySQL 8.0.17 RPM安装包)
- 二、完整安装部署步骤(含报错解决)
-
- [步骤1:安装 mysql\-community\-common(公共组件)](#步骤1:安装 mysql-community-common(公共组件))
- [步骤2:安装 mysql\-community\-libs(依赖库组件)](#步骤2:安装 mysql-community-libs(依赖库组件))
-
- [报错1:依赖冲突(mariadb\-libs 与 mysql\-libs 冲突)](#报错1:依赖冲突(mariadb-libs 与 mysql-libs 冲突))
- [步骤3:安装 mysql\-community\-devel(开发依赖组件)](#步骤3:安装 mysql-community-devel(开发依赖组件))
- [步骤4:安装 mysql\-community\-client(客户端组件)](#步骤4:安装 mysql-community-client(客户端组件))
- [步骤5:安装 mysql\-community\-server(服务端组件)](#步骤5:安装 mysql-community-server(服务端组件))
- 三、安装后补充说明(关键细节)
-
- [3\.1 NOKEY警告解析与解决](#3.1 NOKEY警告解析与解决)
- [3\.2 MySQL服务启动与初始化](#3.2 MySQL服务启动与初始化)
- 四、常见报错汇总(必看)
- 五、总结
CentOS7 安装 MySQL 8.0.17(RPM方式)实操记录(含报错全解析)
前置说明:本次安装环境为 CentOS7,安装包为 MySQL 8.0.17 系列RPM包,包含common、libs、client、server、devel五个组件,所有操作均以root用户执行。
一、准备工作
1.1 下载MySQL 8.0.17 RPM安装包
本次安装使用的RPM包如下(可从MySQL官方仓库下载对应版本):
-
mysql-community-common-8.0.17-1.el7.x86_64.rpm(基础公共组件)
-
mysql-community-libs-8.0.17-1.el7.x86_64.rpm(依赖库组件)
-
mysql-community-client-8.0.17-1.el7.x86_64.rpm(客户端组件)
-
mysql-community-server-8.0.17-1.el7.x86_64.rpm(服务端组件)
-
mysql-community-devel-8.0.17-1.el7.x86_64.rpm(开发依赖组件)
下载链接:
- https://cdn.mysql.com/archives/mysql-8.0/mysql-community-server-8.0.17-1.el7.x86_64.rpm
- https://cdn.mysql.com/archives/mysql-8.0/mysql-community-devel-8.0.17-1.el7.x86_64.rpm
- https://cdn.mysql.com/archives/mysql-8.0/mysql-community-libs-8.0.17-1.el7.x86_64.rpm
- https://cdn.mysql.com/archives/mysql-8.0/mysql-community-common-8.0.17-1.el7.x86_64.rpm
- https://cdn.mysql.com/archives/mysql-8.0/mysql-community-client-8.0.17-1.el7.x86_64.rpm
将所有安装包上传至服务器的 /soft 目录(可自定义目录),查看包列表:
bash
[root@testdbmy01 soft]# ll
total 467544
-rw-r--r--. 1 root root 33978208 Apr 19 22:17 mysql-community-client-8.0.17-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 602852 Apr 19 22:16 mysql-community-common-8.0.17-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 5794588 Apr 19 22:13 mysql-community-devel-8.0.17-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 3173088 Apr 19 22:16 mysql-community-libs-8.0.17-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 435206404 Jun 27 2019 mysql-community-server-8.0.17-1.el7.x86_64.rpm
二、完整安装部署步骤(含报错解决)
MySQL RPM安装有严格的依赖顺序,正确顺序为:common → libs → client → server → devel,下面按实际操作顺序逐步说明,同步解析遇到的报错。
步骤1:安装 mysql-community-common(公共组件)
执行安装命令:
bash
[root@testdbmy01 soft]# rpm -ivh mysql-community-common-8.0.17-1.el7.x86_64.rpm
执行结果:成功安装,无报错(仅出现NOKEY警告,后续统一说明)
bash
warning: mysql-community-common-8.0.17-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-common-8.0.17-1.e################################# [100%]
步骤2:安装 mysql-community-libs(依赖库组件)
执行安装命令:
bash
[root@testdbmy01 soft]# rpm -ivh mysql-community-libs-8.0.17-1.el7.x86_64.rpm
报错1:依赖冲突(mariadb-libs 与 mysql-libs 冲突)
bash
warning: mysql-community-libs-8.0.17-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
mysql-community-common(x86-64) >= 8.0.11 is needed by mysql-community-libs-8.0.17-1.el7.x86_64
mariadb-libs is obsoleted by mysql-community-libs-8.0.17-1.el7.x86_64
报错解析:
-
第一个依赖提示(mysql-community-common >=8.0.11):初期未安装common组件时会出现,安装common后可解决;
-
第二个报错(mariadb-libs is obsoleted):CentOS7系统默认预装了MariaDB(MySQL的分支),其自带的mariadb-libs组件与MySQL的libs组件功能冲突,无法共存,必须先卸载mariadb-libs。
解决方法:强制卸载mariadb-libs
bash
[root@testdbmy01 soft]# rpm -e --nodeps mariadb-libs
说明:--nodeps 参数表示强制卸载,忽略该组件的其他依赖,避免因依赖问题无法卸载。
卸载完成后,重新执行libs安装命令,成功安装:
bash
[root@testdbmy01 soft]# rpm -ivh mysql-community-libs-8.0.17-1.el7.x86_64.rpm
warning: mysql-community-libs-8.0.17-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-libs-8.0.17-1.el7################################# [100%]
步骤3:安装 mysql-community-devel(开发依赖组件)
执行安装命令:
bash
[root@testdbmy01 soft]# rpm -ivh mysql-community-devel-8.0.17-1.el7.x86_64.rpm
执行结果:成功安装(因已安装libs组件,依赖满足,无报错)
bash
warning: mysql-community-devel-8.0.17-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-devel-8.0.17-1.el################################# [100%]
步骤4:安装 mysql-community-client(客户端组件)
执行安装命令:
bash
[root@testdbmy01 soft]# rpm -ivh mysql-community-client-8.0.17-1.el7.x86_64.rpm
执行结果:成功安装(依赖libs组件,已满足)
bash
warning: mysql-community-client-8.0.17-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-client-8.0.17-1.e################################# [100%]
步骤5:安装 mysql-community-server(服务端组件)
执行安装命令:
bash
[root@testdbmy01 soft]# rpm -ivh mysql-community-server-8.0.17-1.el7.x86_64.rpm
报错2:缺少client依赖
bash
warning: mysql-community-server-8.0.17-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
mysql-community-client(x86-64) >= 8.0.11 is needed by mysql-community-server-8.0.17-1.el7.x86_64
报错解析:
MySQL服务端(server)依赖客户端(client)组件,且要求client版本不低于8.0.11,此时未安装client,导致依赖缺失。
解决方法:先安装mysql-community-client组件(步骤4已完成),安装完成后重新执行server安装命令,成功安装:
bash
[root@testdbmy01 soft]# rpm -ivh mysql-community-server-8.0.17-1.el7.x86_64.rpm
warning: mysql-community-server-8.0.17-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-server-8.0.17-1.e################################# [100%]
三、安装后补充说明(关键细节)
3.1 NOKEY警告解析与解决
所有RPM安装过程中均出现如下警告:
bash
warning: mysql-community-xxx.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
解析:该警告并非错误,而是系统未导入MySQL官方的GPG密钥,无法验证安装包的合法性,不影响安装和使用。
消除警告方法:导入MySQL官方GPG密钥
bash
[root@testdbmy01 soft]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
3.2 MySQL服务启动与初始化
安装完成后,需启动MySQL服务,并获取临时密码(MySQL 8.0+ 无固定默认密码):
- 启动MySQL服务:
shell
[root@testdbmy01 soft]#
[root@testdbmy01 soft]# systemctl start mysqld.service
[root@testdbmy01 soft]#
- 设置开机自启(可选):
shell
[root@testdbmy01 log]# systemctl enable mysqld
[root@testdbmy01 log]#
- 查看服务状态:
shell
[root@testdbmy01 soft]# ps -ef | grep mysql
mysql 4657 1 1 22:24 ? 00:00:06 /usr/sbin/mysqld
root 4774 2773 0 22:33 pts/1 00:00:00 grep --color=auto mysql
[root@testdbmy01 soft]#
[root@testdbmy01 soft]# netstat -lnptu |grep 3306
tcp6 0 0 :::33060 :::* LISTEN 4657/mysqld
tcp6 0 0 :::3306 :::* LISTEN 4657/mysqld
[root@testdbmy01 soft]#
- 获取临时密码(用于首次登录):
如下命令,获取安装时默认的密码为ye;oHMK>2oYk
shell
[root@testdbmy01 log]# cat /var/log/mysqld.log | grep -i password
2026-04-19T14:24:43.036171Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ye;oHMK>2oYk
[root@testdbmy01 log]#
- 首次登录并修改密码(临时密码过期,必须修改):
shell
[root@testdbmy01 ~]# mysql -uroot -p'ye;oHMK>2oYk'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.17
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> --- 如果不修改密码,执行其他命令时,会有提示:必须修改密码。
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> show databases;
mysql>
mysql> --- 修改 root 的密码
mysql> alter user root@localhost identified by 'Qwer@1234';
Query OK, 0 rows affected (0.00 sec)
mysql>
四、常见报错汇总(必看)
| 报错信息 | 报错原因 | 解决方法 |
|---|---|---|
| mariadb-libs is obsoleted by mysql-community-libs | CentOS7默认预装的mariadb-libs与MySQL的libs组件冲突 | rpm -e --nodeps mariadb-libs 强制卸载 |
| mysql-community-common(x86-64) >= 8.0.11 is needed | 安装libs组件前,未安装对应的common组件 | 先安装mysql-community-common组件 |
| mysql-community-client(x86-64) >= 8.0.11 is needed | 安装server组件前,未安装对应的client组件 | 先安装mysql-community-client组件 |
| Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY | 未导入MySQL官方GPG密钥,无法验证安装包 | rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 |
五、总结
MySQL 8.0.17 RPM安装的核心是「遵循依赖顺序」和「解决组件冲突」,总结关键要点:
-
安装顺序必须严格:common → libs → client → server → devel(devel可根据需求选择安装);
-
CentOS7系统需先卸载默认的mariadb-libs,否则会与MySQL libs组件冲突;
-
NOKEY警告不影响使用,可通过导入官方密钥消除;
-
MySQL 8.0+ 无固定默认密码,首次登录需从mysqld日志中获取临时密码,并立即修改。
若有转载,请标明出处:https://blog.csdn.net/CharlesYuangc/article/details/160315295