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

相关推荐
OneLIMS3 小时前
OneLIMS 安卓 APK 一键打包说明文档
android
阿亮爱学代码5 小时前
初识Android界面布局
android·xml·view·viewgroup
zopple6 小时前
Laravel 9.x核心特性全解析
android
黑牛儿6 小时前
PHP 8.3性能暴涨实测|对比8.2,接口响应提速30%,配置无需大幅修改
android·开发语言·后端·php
被开发耽误的大厨6 小时前
2、基本类型和引用类型的执行存储流程是怎样的?
android·哈希算法
程序员陆业聪7 小时前
启动瓶颈定位实战:Perfetto + Macrobenchmark 一套组合拳
android
洞见前行7 小时前
Android第三代加固技术原理详解(附源码)
android
Kapaseker7 小时前
Android 开发快 3 倍!Google 说的
android
黄林晴7 小时前
Android 17 Beta4发布:四大行为变更,不改上线就崩
android