【死磕数据库专栏启动】在CentOS7中安装 MySQL5.7版本实战

news2025/7/24 10:15:38

文章目录

  • 前言
  • 实验环境
  • 一. 安装MySQL
    • 1.1 配置yum源
    • 1.2 安装之前的环境检查
    • 1.3 下载MySQL的包
    • 1.4 开始使用yum安装
    • 1.5 启动并测试
  • 二. 设置新密码并重新启动
    • 2.1 设置新密码
    • 2.2 重新登录测试
  • 总结

前言

学习MySQL是一件比较枯燥的事情,学习开始之前要先安装MySQL数据库,之后才能进行增删改查和架构的搭建。

MySQL包含的内容比较多,比如SQL语句的增删改查,读写锁,事务,数据备份,分库分表,存储引擎和,高可用,优化等等。

专栏 【死磕数据库】是云计算架构专栏中的一个分专栏,让我们一起学习数据库,死磕数据库。

在这里插入图片描述

实验环境

本次实验是单台虚拟机上安装MySQL,以下是简单的配置,虚拟机使用的是vmware ,刚开始学习的小伙伴建议与我的环境一致,这样才好一起探讨学习呀。

  • 操作系统: centos7.6
  • IP地址: 192.168.1.41
  • 内存: 2G
  • CPU: 2C

提前关闭selinux和防火墙:

[root@mufenggrow ~]# setenforce 0
[root@mufenggrow ~]# systemctl stop firewalld
[root@mufenggrow ~]# 

一. 安装MySQL

1.1 配置yum源

这里我们先备份 Centos-Base.repo,然后从阿里云下载centos7-repo:

  • 备份本地的yum源
[root@mufenggrow ~]# mv /etc/yum.repos.d/CentOS-Base.repo  /etc/yum.repos.d/CentOS-Base.repo.bak
  • 下载阿里云的yum源
[root@mufenggrow ~]#  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
--2023-02-24 17:13:29--  http://mirrors.aliyun.com/repo/Centos-7.repo
正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)... 120.192.91.238, 120.220.92.236, 120.220.92.240, ...
正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|120.192.91.238|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:2523 (2.5K) [application/octet-stream]
正在保存至: “/etc/yum.repos.d/CentOS-Base.repo”

100%[============================================================================>] 2,523       --.-K/s 用时 0.007s  

2023-02-24 17:13:30 (338 KB/s) - 已保存 “/etc/yum.repos.d/CentOS-Base.repo” [2523/2523])

1.2 安装之前的环境检查

在centos7的系统上默认是mariadb, 如果要安装MySQL需要先把系统中存在的mysql或者mariadb删除掉。

  • 查看是否已经安装MySQL/mariadb ,如果已经安装先删除
[root@mufenggrow ~]# rpm -qa |grep mariadb
mariadb-server-5.5.60-1.el7_5.x86_64
mariadb-libs-5.5.60-1.el7_5.x86_64
mariadb-5.5.60-1.el7_5.x86_64
[root@mufenggrow ~]# yum remove mariadb -y

  • 再次查看是否还有残留,如果有就删除
[root@mufenggrow ~]# rpm -qa |grep mysql
qt-mysql-4.8.7-2.el7.x86_64
[root@mufenggrow ~]# rpm -e qt-mysql-4.8.7-2.el7.x86_64
  • MySQL和mariadb都要查看
[root@mufenggrow ~]# rpm -qa |grep maraidb
  • 最后查看老版本中MySQL相关的安装目录
[root@mufenggrow ~]# find / -name mysql
/etc/selinux/targeted/active/modules/100/mysql
/usr/lib64/mysql
/usr/lib64/perl5/vendor_perl/auto/DBD/mysql
/usr/lib64/perl5/vendor_perl/DBD/mysql
/usr/share/mysql
[root@mufenggrow ~]# rm -rf /etc/selinux/targeted/active/modules/100/mysql
[root@mufenggrow ~]# rm -rf /usr/lib64/mysql
[root@mufenggrow ~]# rm -rf /usr/lib64/perl5/vendor_perl/auto/DBD/mysql
[root@mufenggrow ~]# rm -rf /usr/lib64/perl5/vendor_perl/DBD/mysql
[root@mufenggrow ~]# rm -rf /usr/share/mysql

1.3 下载MySQL的包

这里直接使用yum包,所以下载rpm包生成yum包

在没下载安装之前,我的系统中是没有MySQL相关的yum源的:
在这里插入图片描述

  • 下载MySQL57-community的rpm包
[root@mufenggrow yum.repos.d]# yum install wget -y && wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

这里我担心没有wget,先安装wget,再使用wget下载

  • 使用rpm -ivh 安装刚刚下载的rpm包
[root@mufenggrow yum.repos.d]# rpm -ivh mysql57-community-release-el7-9.noarch.rpm 
警告:mysql57-community-release-el7-9.noarch.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql57-community-release-el7-9  ################################# [100%]

这时候会看到生成了几个与MySQL相关的repo的包:

在这里插入图片描述

1.4 开始使用yum安装

直接使用yum安装即可:

[root@mufenggrow yum.repos.d]#  yum install mysql-community-server

此处如果出现如下报错:

mysql-community-libs-compat-5.7.41-1.el7.x86_64.rpm 的公钥尚未安装

 失败的软件包是:mysql-community-libs-compat-5.7.41-1.el7.x86_64
 GPG  密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

只需要执行这条命令即可:

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

执行完成后重新进行安装:

[root@mufenggrow yum.repos.d]#  yum install mysql-community-server

出现如图的内容表示安装成功:

在这里插入图片描述

1.5 启动并测试

先启动,然后查看运行状态:

[root@mufenggrow yum.repos.d]# systemctl start mysqld
[root@mufenggrow yum.repos.d]# systemctl status mysqld |grep active
   Active: active (running) since 五 2023-02-24 18:17:05 CST; 22s ago
[root@mufenggrow yum.repos.d]# 

查看版本:

[root@mufenggrow yum.repos.d]# mysql -V
mysql  Ver 14.14 Distrib 5.7.41, for Linux (x86_64) using  EditLine wrapper

二. 设置新密码并重新启动

2.1 设置新密码

MySQL的密码并不是默认为空,而是在启动的时候,默认在log日志中生成密码,可以通过命令查看到密码:

# grep "temporary password" /var/log/mysqld.log 

在这里插入图片描述
随机密码超级难记,我们可以设置自己的密码

  • 先登录数据库
[root@mufenggrow yum.repos.d]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.41

Copyright (c) 2000, 2023, 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> 

  • 修改密码
mysql> alter user 'root'@'localhost' identified by 'Mufenggrow123!';
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

注意: 这里的密码如果设置的过于简单也会报错,要设置的复杂一点,密码长度大于8位数

2.2 重新登录测试

[root@mufenggrow ~]# mysql -uroot -pMufenggrow123!

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 3
Server version: 5.7.41 MySQL Community Server (GPL)

Copyright (c) 2000, 2023, 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> create database mufeng;

Query OK, 1 row affected (0.01 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mufeng             |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql> 

可以看到,数据库已经能够正常使用了,接下来,就开启MySQL学习之旅吧。

总结

  • 💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!
  • 💕 博客主页:mufeng.blog.csdn.net
  • 💕 本文由沐风晓月原创,首发于CSDN博客
  • 💕 每一个你想要学习的念头,都是未来的你像现在的你求救,不辜负未来,全力奔赴

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

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

相关文章

【Linux修炼】14.磁盘结构/文件系统/软硬链接/动静态库

每一个不曾起舞的日子,都是对生命的辜负。 磁盘结构/文件系统/软硬链接/动静态库前言一.磁盘结构1.1 磁盘的物理结构1.2 磁盘的存储结构1.3 磁盘的逻辑结构二.理解文件系统2.1 对IO单位的优化2.2 磁盘分区与分组2.3 分组的管理方法2.4 文件操作三.软硬链接3.1理解硬…

测试4年裸辞失业,面试17k的测试岗被按在地上摩擦,结局让我崩溃大哭...

作为IT行业的大热岗位——软件测试,只要你付出了,就会有回报。说它作为IT热门岗位之一是完全不虚的。可能很多人回说软件测试是吃青春饭的,但放眼望去,哪个工作不是这样的呢?会有哪家公司愿意养一些闲人呢?…

「smardaten」上架钉钉应用中心!让进步再一次发生

使用钉钉的团队小伙伴们,smardaten给您送来福利啦~为了给更多团队提供更优质的应用开发体验,方便用户在线、快速使用无代码,数睿数据近期在【钉钉应用中心】发布smardaten在线版本。继与华为云、亚马逊云建立战略合作之后,smardat…

微信小程序实现分享到朋友圈的功能

分享朋友圈官方API:分享到朋友圈 1、分享到朋友圈接口设置事项 2、onShareTimeline()注意事项 3、分享朋友圈后,测试发现,没有数据请求。 用户在朋友圈打开分享的小程序页面,并不会真正打开小程序,而是进入一个“小程…

浏览器缓存策略

先走强缓存,再走协商缓存 强缓存 不发送请求,直接使用缓存的内容 状态码200 当前会话没有关闭的话就是走memory cache,否则就是disk cache 由响应头的 Pragma(逐渐废弃,优先级最高),catch-…

LeetCode 817. 链表组件

LeetCode 817. 链表组件 难度:middle\color{orange}{middle}middle 题目描述 给定链表头结点 headheadhead,该链表上的每个结点都有一个 唯一的整型值 。同时给定列表 numsnumsnums,该列表是上述链表中整型值的一个子集。 返回列表 numsnu…

自动驾驶仿真:ECU TEST 、VTD、VERISTAND连接配置

文章目录一、ECU TEST 连接配置简介二、TBC配置 test bench configuration三、TCF配置 test configuration提示:以下是本篇文章正文内容,下面案例可供参考 一、ECU TEST 连接配置简介 1、ECU TEST(简称ET),用于HIL仿…

MySQL tinyint(1) 、int(32) 与 varchar(255) 长度含义不同

MySQL tinyint(1) 、int(32) 与 varchar(255) 长度含义不同 发现 tinyint(1),int(32) 和 varchar(255) 这里面的数字的含义是不同的。 先说数字类型 tinyint 和 int 等 他们能存储的字节大小是与类型绑定的,即定义了 tinyint 或者 int 就确定了能存储…

【C++的OpenCV】第六课-OpenCV图像常用操作(三):OpenCV的图像的侵蚀和扩张

让我们继续一、图像的侵蚀和扩张1.1 侵蚀1.1.1 函数原型1.1.2 侵蚀的效果1.1.3 关于侵蚀的解释1.2 扩张1.2.1 函数原型1.2.2 扩张的效果二、实例一、图像的侵蚀和扩张 本章节中我们将会学习到: cv::erode() 函数详情cv::dilate() 函数详情 两个函数的基本使用方法…

java 接口 详解

目录 一、概述 1.介绍 : 2.定义 : 二、特点 1.接口成员变量的特点 : 2.接口成员方法的特点 : 3.接口构造方法的特点 : 4.接口创建对象的特点 : 5.接口继承关系的特点 : 三、应用 : 1.情景 : 2.多态 : ①多态的传递性 : ②关于接口的多态参数和多态…

Android ION 相关信息查看方法

目录 查看DMA buffer 信息 查看ion buffer 的总体分配情况 分配的ION buffer 都会设置为DMA buffer,以fd的形式交给使用方, 如app, camera等。 查看ion 的使用情况,可以查看ion 的各个heap分配情况, 也可以从DMA buffer 入手查…

勒索软件BlackByte出现新变种,系Go语言编写

BlackByte 是一个提供勒索软件即服务(RaaS)的攻击组织,自从 2021 年 7 月以来一直保持活跃。最初,BlackByte 使用 C# 开发,最近攻击者使用 Go 重写了恶意软件。FBI 也已经发布公告披露 BlackByte 已经攻击了许多公司&a…

文献阅读 An implementation of the seismic resolution enhancing network based on GAN

题目 An implementation of the seismic resolution enhancing network based on GAN 基于GAN的地震分辨率增强网络的实现 摘要 对于地震数据,本文利用深度学习来学习不同层次的特征并将它们合并以恢复缺失的分辨率。 将GAN网络引入到地震数据处理;对…

劳保防护用品穿戴检测 python

劳保防护用品穿戴检测算法通过pythonOpencv深度学习技术,劳保防护用品穿戴检测算法对现场人员防护穿戴用品进行全天候检测,当检测到未按照要求进行穿戴,立即对现场违规人员进行抓拍。Python是一种由Guido van Rossum开发的通用编程语言&#…

在做自动化测试前需要知道的

什么是自动化测试? 做测试好几年了,真正学习和实践自动化测试一年,自我感觉这一个年中收获许多。一直想动笔写一篇文章分享自动化测试实践中的一些经验。终于决定花点时间来做这件事儿。 首先理清自动化测试的概念,广义上来讲&a…

2023年DAMA-CDGA/CDGP数据治理工程师认证报名时间

2023年DAMA-CDGA/CDGP数据治理工程师认证报名时间 DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决…

企业急需:拥有一个属于自身的知识库!

如今,拥有知识库对任何企业来说都是绝对必要的。特别是在软件即服务方面。如果您真的希望您的 SaaS 业务取得成功,您需要从第一天开始构建知识库。为什么?首先,SaaS 公司有一个货币化模型,专注于他们的每月经常性收入 …

plsql过程语言之uxdb与oracle语法差异

序号场景uxdboracle1在存储过程中使用goto子句create or replace procedure uxdbc_oracle_extension_plsql_goto_0001_procedure01(t1 int) language plsql as $$ begin if t1%20 then goto even_number; else goto odd_number; end if; <<even_number>> raise…

LAMP平台部署及应用

LAMP平台部署及应用 &#x1f4d2;博客主页&#xff1a; 微笑的段嘉许博客主页 &#x1f4bb;微信公众号&#xff1a;微笑的段嘉许 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐留言&#x1f4dd; &#x1f4cc;本文由微笑的段嘉许原创&#xff01; &#x1f4c…

117.Android 简单的拖拽列表+防止越界拖动(BaseRecyclerViewAdapterHelper) 两种方式实现

//一.第一种方式 通过BaseItemDraggableAdapter类和其提供的的拖拽监听实现&#xff1a; //1.第一步 导入依赖库和权限&#xff1a; //依赖库&#xff1a; //RecyclerView implementation com.android.support:recyclerview-v7:28.0.0//RecyclerAdapter implementation com.…