《从0到1-全面深刻理解MySQL系列》- 最详细的MySQL安装流程(Linux环境)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 《从0到1-全面深刻理解MySQL系列》- 最详细的MySQL安装流程(Linux环境)

image.png

文章大纲

1、删除旧版本

2、查看服务器内核类型,下载合适的版本并上传到服务器

2.1、使用cat /proc/version查看系统的内核类型

2.2、到官网下载合适的类型

2.3、通过rz命令或者xftp工具上传到服务器

3、解压并逐步安装对应的组件

3.1、解压命令: tar -xvf 需要解压的文件名 -C 需要加压到的路径(-C和后面的参数可以省略)

3.2、安装组件命令: rpm -ivh 需要安装的组件名

3.3、启动MySQL服务器,如果报错,则执行第4步

3.4、如启动报如下的错,则进行响应的步骤操作修复

3.5、修复完成后再执行:systemctl start mysql启动MySQL服务

4、连接MySQL服务并修改密码

5、小结

image.png

大家好,我是小诚,这段时间在网上进行了一些面试,发现无论什么公司,数据库的面试题都是不可避免的,甚至一些前端工程师面试的时候都避免不了被询问到和数据库有关的一些问题。

通过面试,也发现了一些现象,网上的很多数据库教程都是讲得比较浅或者只讲解了片面,比较好的教程要么找不到要么就是收费昂贵,为了方便自己复习以及帮助到一些想从全面了解数据库的小伙伴,这段时间在不断恶补数据库的知识,打算出一个关于《从0到1-全面深刻理解MySQL》的教程,教程是以小白视角出发,从最简单的安装数据库到深入理解数据库如何执行SQL语句到数据库如何实现数据存储和查询的全方位讲解。

争取让所有对MySQL库感兴趣的小伙伴都能够从中学习到一些知识,无论是用于面试或者拓展自己的知识广度方面起到一些帮助,当我们对一个知识从"知其然"到"知其所以然"时,涨薪和升职自然也随之而来。

《从0到1-全面深刻理解MySQL系列》第二篇就从最基本的安装MySQL-Linux环境开始,感兴趣的小伙伴可以关注我,系列文章会持续更新,一起加油,一起进步!

image.png

《从0到1-全面深刻理解MySQL系列》- 最详细的MySQL安装流程(Window环境)



1、删除旧版本


 查看服务器是否有自带的MySQL,如果有可以直接使用,如果自带的版本比较低,可以删除然后安装自己想要的版本(在安装新版本MySQL之前,需要卸载服务器自带的MySQL包和MySQL数据库分支mariadb的包)



 1、rpm -qa|grep mysql – 查询服务器是否有mysql,如有,则执行下面的语句进行删除



 2、rpm -qa |grep mariadb – 查询服务器是否有mariadb,有则执行第三步进行删除



 3、rpm -e --nodeps 要删除的文件名(nodeps表示强制删除)

image.png

2、查看服务器内核类型,下载合适的版本并上传到服务器

2.1、使用cat /proc/version查看系统的内核类型

image.png

2.2、到官网下载合适的类型

image.png

image.png

image.png

2.3、通过rz命令或者xftp工具上传到服务器


 小贴士1: 如果使用rz命令时提示找不到命令,直接执行: yum -y install lrzsz 则可以在线下载。


 命令: rz 或者rz -be


 格式: rz -be 选择需要上传的文件


 批量或者单个上传文件,通过ZMODEM协议,除此之外,还可以通过ftp或者sftp进行上传



 小贴士2: 如果觉得通过rz命令上传时间比较久,可以下载一个xftp工具,通过这个工具上传效率更高(此篇就不展开将这个工具,如有需要,大家可以在下方留言,后续会展开一片文章具体介绍,)

image.png

3、解压并逐步安装对应的组件

3.1、解压命令: tar -xvf 需要解压的文件名 -C 需要加压到的路径(-C和后面的参数可以省略)

image.png

3.2、安装组件命令: rpm -ivh 需要安装的组件名


  按照下面的命令顺序执行,文件名修改成你压缩后的文件名称即可

// mysql-community-common
1、rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm
// mysql-community-libs
2、rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm --force --nodeps
// mysql-community-libs-compat
3、rpm -ivh mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm
// mysql-community-client
4、rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm --force --nodeps
// mysql-community-server
5、rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm --force --nodeps
// 查看已安装的组件
6、rpm -qa | grep mysql

image.png

3.3、启动MySQL服务器,如果报错,则执行第4步


 启动命令: systemctl start mysql



3.4、如启动报如下的错,则进行响应的步骤操作修复


 报错信息: Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for details.


 根据报错信息执行: systemctl status mysqld.service" 或者 "journalctl -xe"命令查看报错详情,发现报错信息中存在: Data Dictionary upgrade from MySQL 5.7 in progress。


 说明是因为新版本和之前服务器自带的版本对应的包存在冲突,删除对应的冲突目录即可,执行: rm -rf /var/lib/mysql/*(执行删除命令的时候要看清楚哦)

image.png

3.5、修复完成后再执行:systemctl start mysql启动MySQL服务



4、连接MySQL服务并修改密码


 第一次成功启动MySQL会被设置默认一个密码,通过以下命令查看并进行登录。



 1、查看第一次启动的临时密码:grep password /var/log/mysqld.log



 2、连接到服务器: mysql -u root -p 回车,然后输出密码



 3、第一次连接会强制你必须修改连接密码,可以使用以下的语句进行修改密码:



 ALTER USER root@localhost IDENTIFIED WITH caching_sha2_password BY ‘123456’;(MySQL8.x适合使用这个语句)



 UPDATE USER SET PASSWORD=PASSWORD(‘你的密码’) WHERE USER=‘root’;(MySQL5.x版本的修改)

image.png

5、小结


   不积跬步,无以至千里;不积小流,无以成江海。今天播种努力的种子,总会有一天发芽!



   欢迎大家关注,如果觉得文章对你有帮助,不要忘记一键三连哦,你的支持是我创作更加优质文章的动力,有任何问题可以私信我,看到会及时给你答复!。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
Ubuntu Linux Shell
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
(已成功解决)Linux环境报错—bash: wget: command not found;常见Linux发行版本,Linux中yum、rpm、apt-get、wget的区别;Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
113 68
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
|
1天前
|
消息中间件 Java Kafka
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
|
5天前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
7天前
|
关系型数据库 MySQL 数据库
docker高级篇(大厂进阶):安装mysql主从复制
docker高级篇(大厂进阶):安装mysql主从复制
63 24
|
8天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
74 20
|
1天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
39 7
|
1天前
|
关系型数据库 MySQL 数据库
【MySQL基础篇】MySQL概述、Windows下载MySQL8.0超详细图文安装教程
在这一章节,主要介绍两个部分,数据库相关概念及MySQL数据库的介绍、下载、安装、启动及连接。接着,详细描述了MySQL 8.0的版本选择与下载,推荐使用社区版(免费)。安装过程包括自定义安装路径、配置环境变量、启动和停止服务、以及客户端连接测试。此外,还提供了在同一台电脑上安装多个MySQL版本的方法及卸载步骤。最后,解释了关系型数据库(RDBMS)的特点,即基于二维表存储数据,使用SQL语言进行操作,格式统一且便于维护。通过具体的结构图展示了MySQL的数据模型,说明了数据库服务器、数据库、表和记录之间的层次关系。
【MySQL基础篇】MySQL概述、Windows下载MySQL8.0超详细图文安装教程
|
8天前
|
Unix Linux 编译器
UNIX/Linux 上的安装
UNIX/Linux 上的安装。
26 2
|
2天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
10 3
|
2天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
14 3