MySQL8.0 版本安装部署

MySQL8.0 版本安装部署

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(开发依赖组件)

下载链接:

  1. https://cdn.mysql.com/archives/mysql-8.0/mysql-community-server-8.0.17-1.el7.x86_64.rpm
  2. https://cdn.mysql.com/archives/mysql-8.0/mysql-community-devel-8.0.17-1.el7.x86_64.rpm
  3. https://cdn.mysql.com/archives/mysql-8.0/mysql-community-libs-8.0.17-1.el7.x86_64.rpm
  4. https://cdn.mysql.com/archives/mysql-8.0/mysql-community-common-8.0.17-1.el7.x86_64.rpm
  5. 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
报错解析:
  1. 第一个依赖提示(mysql-community-common >=8.0.11):初期未安装common组件时会出现,安装common后可解决;

  2. 第二个报错(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+ 无固定默认密码):

  1. 启动MySQL服务:
shell 复制代码
[root@testdbmy01 soft]# 
[root@testdbmy01 soft]# systemctl start mysqld.service
[root@testdbmy01 soft]# 
  1. 设置开机自启(可选):
shell 复制代码
[root@testdbmy01 log]# systemctl enable mysqld
[root@testdbmy01 log]# 
  1. 查看服务状态:
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]#
  1. 获取临时密码(用于首次登录):
    如下命令,获取安装时默认的密码为 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]# 
  1. 首次登录并修改密码(临时密码过期,必须修改):
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安装的核心是「遵循依赖顺序」和「解决组件冲突」,总结关键要点:

  1. 安装顺序必须严格:common → libs → client → server → devel(devel可根据需求选择安装);

  2. CentOS7系统需先卸载默认的mariadb-libs,否则会与MySQL libs组件冲突;

  3. NOKEY警告不影响使用,可通过导入官方密钥消除;

  4. MySQL 8.0+ 无固定默认密码,首次登录需从mysqld日志中获取临时密码,并立即修改。

若有转载,请标明出处:https://blog.csdn.net/CharlesYuangc/article/details/160315295

相关推荐
alexhilton1 小时前
使用Android Archive进行打包
android·kotlin·android jetpack
badhope3 小时前
做了几年安卓开发,这些坑我帮你踩过了
android·android studio
逐光老顽童2 天前
Java 与 Kotlin 混合开发避坑指南:30 个真实案例实录
android·kotlin
爱勇宝3 天前
鸿蒙生态的下半场:开发者不只要能开发,还要能赚钱
android·前端·程序员
Yeyu3 天前
刷新一帧的艺术:invalidate / postInvalidate / postInvalidateOnAnimation全解析
android
潘潘潘3 天前
Android OTA 升级原理和流程介绍
android
plainGeekDev3 天前
null 判断 → Kotlin 可空类型
android·java·kotlin
plainGeekDev3 天前
getter/setter → Kotlin 属性
android·java·kotlin
YXL1111YXL3 天前
Handler 消息回收与协程异步执行的时序陷阱
android
恋猫de小郭3 天前
KMP / CMP 鸿蒙版本 Beta 发布,他有什么特别之处?
android·前端·flutter