CentOS7安装MySQL8.3(最新版)踩坑教程

安装环境说明

系统版本CentOS7 (具体是7.9,其他7系列版本均可)
位数X86_64,64位操作系统
MySQL版本mysql-8.3.0-1.el7.x86_64.rpm-bundle.tar

实际操作

官网下载安装包

具体操作不记录,相关教程很多。

mkdir /opt/tools/mysql8 -p

在这里插入图片描述

解压

cd /opt/tools/mysql8
tar -xvf mysql-8.3.0-1.el7.x86_64.rpm-bundle.tar

在这里插入图片描述

安装

首先,解压缩后得到很多个rpm包,安装顺序是最关键的,若顺序错误,就会出现相互依赖,导致安装失败!!!
安装的目标是:mysql-community-server-8.3.0-1.el7.x86_64.rpm,直接执行rpm -ivh安装则报错,根据错误信息提示,把依赖的包提前安装。
这里会出现相互依赖,即安装A,依赖B;安装B,依赖C;安装C,依赖D;所以,我把踩坑后的顺序记录下来,按照这个顺序就可以正常安装了。

1. 安装 mysql-community-client-plugins-8.3.0-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-plugins-8.3.0-1.el7.x86_64.rpm

在这里插入图片描述

2.安装 mysql-community-icu-data-files-8.3.0-1.el7.x86_64.rpm

rpm -ivh mysql-community-icu-data-files-8.3.0-1.el7.x86_64.rpm

3. 安装 mysql-community-common-8.3.0-1.el7.x86_64.rpm

rpm -ivh mysql-community-common-8.3.0-1.el7.x86_64.rpm

4. 安装 mysql-community-embedded-compat-8.3.0-1.el7.x86_64.rpm

rpm -ivh mysql-community-embedded-compat-8.3.0-1.el7.x86_64.rpm

5. 安装 mysql-community-client-plugins-8.3.0-1.el7.x86_64.rpm

 rpm -ivh mysql-community-client-plugins-8.3.0-1.el7.x86_64.rpm

6. 安装 mysql-community-icu-data-files-8.3.0-1.el7.x86_64.rpm

rpm -ivh mysql-community-icu-data-files-8.3.0-1.el7.x86_64.rpm

7. 安装 mysql-community-libs-8.3.0-1.el7.x86_64.rpm

注意:安装若失败,则是由于centos7默认安装的mariaDB导致
rpm -ivh mysql-community-libs-8.3.0-1.el7.x86_64.rpm
[root@localhost mysql8]# rpm -ivh mysql-community-libs-8.3.0-1.el7.x86_64.rpm 
warning: mysql-community-libs-8.3.0-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID a8d3785c: NOKEY
error: Failed dependencies:mariadb-libs is obsoleted by mysql-community-libs-8.3.0-1.el7.x86_64
[root@localhost mysql8]# rpm -qa| grep mari
mariadb-libs-5.5.56-2.el7.x86_64
执行强制卸载:
[root@localhost mysql8]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
然后重新执行安装命令,如下图

在这里插入图片描述

8.安装 mysql-community-client-8.3.0-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-8.3.0-1.el7.x86_64.rpm

9. 安装 mysql-community-server-8.3.0-1.el7.x86_64.rpm

注意:执行若报错,提示net-tools则需要通过yum进行安装后,再次执行
rpm -ivh mysql-community-server-8.3.0-1.el7.x86_64.rpm[root@localhost mysql8]# rpm -ivh mysql-community-server-8.3.0-1.el7.x86_64.rpm 
warning: mysql-community-server-8.3.0-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID a8d3785c: NOKEY
error: Failed dependencies:net-tools is needed by mysql-community-server-8.3.0-1.el7.x86_64
[root@localhost mysql8]# yum -install net-tools

在这里插入图片描述

systemctl start mysqld  启动MySQL
systemctl status mysqld 查看状态

在这里插入图片描述

10. 上述步骤执行完成,表示安装成功,下面进行基本配置,实现登录。

MySQL配置

  1. 安装成功后,自动创建mysql用户和mysql用户组
[root@localhost mysql8]# id mysql
uid=27(mysql) gid=27(mysql) groups=27(mysql)
  1. 安装后的默认路径,通过配置文件查看。
vi /etc/my.cnf
可以看到以下配置:
datadir=/var/lib/mysql  数据文件默认位置
socket=/var/lib/mysql/mysql.sock  socket默认位置log-error=/var/log/mysqld.log  日志默认位置
pid-file=/var/run/mysqld/mysqld.pid  pid文件默认位置
  1. 查看初始化密码
【解决方式一:(查看初始密码,用于登陆)】cat /var/log/mysqld.log | grep password

在这里插入图片描述
5. 通过初始密码进行登录

[root@localhost mysql8]# mysql -uroot -p
Enter password: 输入上步骤中的密码
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.3.0Copyright (c) 2000, 2024, Oracle and/or its affiliates.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>
  1. 修改默认密码
注意:MySQL8之后,对密码强度要求更高,需要大写、数字、小写、特殊符合组合。
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
Flush privileges;

在这里插入图片描述
7. 设置远程登录
经过上述步骤,可以通过新密码实现本地化登录,但是若想通过客户端远程访问,则还需要开启MySQL远程登录。
注意:设置远程登录,通常不建议将root开启远程访问,可以新创建用户,并授权合理的数据库访问权限,这样更利于数据安全。
具体操作如下:

操作如下:
创建用户:
CREATE USER '新用户名'@'%' IDENTIFIED BY '新用户密码';
给用户授权:
Grant all privileges on 数据库名字.* to '用户名'@'%' identified by '用户密码' with grant option;
Flush privileges;

总结

MySQL8.3官方未提供二进制安装包,只有rpm安装包,之前网上很多教程是二进制安装方式,所以自己踩坑,将安装记录下来,帮助需要的人。
安装的坑主要有2方面,一是系统环境,比如当前系统安装了低版本的MySQL,那么就会有冲突,具体问题具体分析。二是rpm的安装顺序,顺序不对,则会出现依赖错误。同时,要根据报错信息,逐个解决,最后才能安装成功。
系统虽然安装完成,但实际项目中,还会对配置文件进行优化,提升MySQL性能。配置文件MySQL8和之前的5.7有很多冲突之处,若生搬硬套之前的配置文件,则会出现意想不到的错误。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/5605.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

锂电池SOH预测 | 基于BP神经网络的锂电池SOH预测(附matlab完整源码)

锂电池SOH预测 锂电池SOH预测完整代码锂电池SOH预测 锂电池的SOH(状态健康度)预测是一项重要的任务,它可以帮助确定电池的健康状况和剩余寿命,从而优化电池的使用和维护策略。 SOH预测可以通过多种方法实现,其中一些常用的方法包括: 容量衰减法:通过监测电池的容量衰减…

QT5制做两个独立窗口

目录 增加第二个窗口 主窗口文件添加一个私有成员为子窗口 定义两个槽函数和 关联按钮和子窗口和主窗口 添加子窗口成员 子窗口处理函数 补充回顾 增加第二个窗口 1、 2、 3 主窗口文件添加一个私有成员为子窗口 在mainwidget.h文件 同时添加两个槽;来处理…

Linux 系统上安装 NVIDIA 驱动程序失败(X server问题)

报错信息: ERROR: You appear to be running an X server; please exit X before installing. For further details, please see the section INSTALLING THE NVIDIA DRIVER in the README available on the Linux driver download page at www.nvidia.com. ERROR: …

Docker: 如何不新建容器 修改运行容器的端口

目录 一、修改容器的映射端口 二、解决方案 三、方案 一、修改容器的映射端口 项目需求修改容器的映射端口 二、解决方案 停止需要修改的容器 修改hostconfig.json文件 重启docker 服务 启动修改容器 三、方案 目前正在运行的容器 宿主机的3000 端口 映射 容器…

vue2实现面包屑功能

目录 1. store/index.js 2. router/index.js 3. Header.vue 在Vue 2中实现面包屑导航是一种常见的前端实践,它可以帮助用户了解当前页面在网站结构中的位置,并快速导航到上一级或根目录。以下是使用Vue 2实现面包屑导航的基本步骤: 1. store/index.js state中定义一个面…

python 关键字(await)

2、await 在Python的异步编程中,await关键字扮演着至关重要的角色。对于初学者来说,理解await的使用和背后的概念可能有些困难,但对于有经验的开发者来说,掌握它则是编写高效、响应性强的代码的关键。下面我将从基础到高级,逐步解析await关键字。 基础知识:await是什么?…

NLP(11)--词向量

前言 仅记录学习过程,有问题欢迎讨论 one-hot 编码 i love u [1,2,3] 词向量训练目标: 如果两个词在文本出现,它的前后出现的词相似,则这两个词语义相似 cbow(基于窗口预测词)缺点 :输出层是vocab_size 会很大 收敛速度会很慢…

【综述】多核处理器芯片

文章目录 前言 Infineon处理器 AURIX™系列 TC399XX-256F300S 典型应用 开发工具 参考资料 前言 见《【综述】DSP处理器芯片》 Infineon处理器 AURIX™系列,基于TriCore内核,用于汽车和工业领域。 XMC™系列,基于ARM Cortex-M内核&…

test4282

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

2024五一杯数学建模A题思路分析-钢板最优切割路径问题

文章目录 1 赛题选题分析 2 解题思路3 最新思路更新 1 赛题 A题 钢板最优切割路径问题 提高钢板下料切割过程中的工作效率,是模具加工企业降低成本和增加经济效益的重要途径,其中钢板切割的路径规划是钢板切割过程的一个关键环节。 钢板切割就是使用特殊…

2024 五一杯高校数学建模邀请赛(C题)| 煤矿深部开采冲击地压危险预测 |建模秘籍文章代码思路大全

铛铛!小秘籍来咯! 小秘籍团队独辟蹊径,构建了这一题的详细解答哦! 为大家量身打造创新解决方案。小秘籍团队,始终引领着建模问题求解的风潮。 抓紧小秘籍,我们出发吧~ 让我们看看五一杯的C题! 完…

【Jenkins】持续集成与交付 (十二):Jenkins构建(Maven类型项目)和部署项目

🟣【Jenkins】持续集成与交付 (十二):Jenkins构建(Maven类型项目)和部署项目 一、安装Maven Integration插件二、创建Maven项目三、配置项目3.1 配置执行构建操作3.2 执行Maven项目构建3.3 部署项目3.5 再次构建3.4 验证访问四、总结💖The Begin💖点点关注,收藏不迷…

ChatGPT 网络安全秘籍(一)

原文:zh.annas-archive.org/md5/6b2705e0d6d24d8c113752f67b42d7d8 译者:飞龙 协议:CC BY-NC-SA 4.0 前言 在不断发展的网络安全领域中,由 OpenAI 推出的 ChatGPT 所代表的生成式人工智能和大型语言模型(LLMs&#xf…

MATLAB初学者入门(30)—— 数据库开发

在MATLAB中实现数据库开发涉及连接数据库、执行SQL查询、处理查询结果以及将数据用于分析和可视化。MATLAB提供了数据库工具箱,该工具箱支持与多种数据库系统的连接,包括但不限于MySQL、Oracle、SQL Server、PostgreSQL等。 案例分析:使用MA…

【软件开发规范篇】JAVA后端开发编码格式规范

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是&#xff0…

软件网关--Nginx

Nginx 的多功能用途 Nginx 是构建现代化分布式应用程序的重要工具,它的功能远不止于高性能的 Web 服务器和反向代理。它还能充当 API 网关,处理前后端通信、认证、授权、监控等任务。以下是 Nginx 的主要用途: 前后端通信代理:N…

公共 IP 地址与私有 IP 地址区别有哪些?

​  IP 地址是分配给互联网上每个设备的唯一数字 ID。 IP 地址可以在 Internet 上公开使用,也可以在局域网 (LAN)上私有使用。本文,我们主要探讨公共 IP 地址和私有 IP 地址之间的区别。 公共IP地址:公共IP地址是用于访问Internet的向外的I…

头歌:SparkSQL简单使用

第1关:SparkSQL初识 任务描述 本关任务:编写一个sparksql基础程序。 相关知识 为了完成本关任务,你需要掌握:1. 什么是SparkSQL 2. 什么是SparkSession。 什么是SparkSQL Spark SQL是用来操作结构化和半结构化数据的接口。…

c++缓冲区同步原理与std::ios::sync_with_stdio作用

缓冲区同步机制 为什么需要缓冲区同步 c是基于c语言的扩展语言,本质上它继承了c语言许多特性,同时也继承了C语言特性,在c语言中stdio为输入输出缓冲区,stdin是输入缓冲区,stdout是输出缓冲区,C不与C语言使…

Python爬虫-车主之家详情页汽车数据

前言 本文是该专栏的第26篇,后面会持续分享python爬虫干货知识,记得关注。 本文以车主之家的汽车详情页为例,获取对应车型的全部汽车相关数据(包含车型配置,车型销售数据,以及上牌数据等等)。 具体实现思路和详细逻辑,笔者将在正文结合完整代码进行详细介绍。接下来,…