MySQL通过yum源安装最新版本教程

介绍

截至目前,MYSQL最新的版本为4月23号官方发布的8.0.20版本,本文主要讲解CentOS 8 如何通过yum源安装 最新mysql-community-server-8.0.20版本。

安装官方yum源

官方仓库下载yum源安装包

进入MySQL官方仓库^1, 在首页,最近的新版本仓库源安装包都会在这里,如果你对自己的系统了解,你可以直接找到自己Linux平台对应的官方源安装包直接安装。MySQL官方分别管理了yum源和apt源,进入里面,你就可以看到各个MySQL版本的安装包了。我的Linux为CentOS 8.1, arch为 x86_64,进到对应目录 https://repo.mysql.com/yum/mysql-8.0-community/el/8/x86_64/,在这里,看到各种MySQL相关的安装包,其中的mysql80-community-release字样的就是官方yum源的安装包,在首页也能找到,因为是CentOS8系统,直接首页浏览器搜索el8字样,就能看到一样的yum源安装包,最新的是mysql80。

阅读更多

Linux 安装并配置最新的MongoDB

一、前言

目前的稳定版本 是4.2.X,截止至20年4月初的最新是4.2.5,也推荐安装此版本,也可以尝鲜,安装4.3.Xunstable版本。目前最新的是4.3.5

本文主要讲解 CentOS 8 如何安装配置 MongoDB 4.2.5。

二、下载方式

阅读更多

数据库系统原理

一、事务

概念

事务指的是满足 ACID 特性的一组操作,可以通过 Commit 提交一个事务,也可以使用 Rollback 进行回滚。

image-20191207222237925

ACID

1. 原子性(Atomicity)

事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚。

阅读更多

MySQL 查询缓存

MySQL 查询缓存介绍

MySQL 体系架构如下图所示:

为了提高完全相同的查询语句的响应速度,MySQL Server 会对查询语句进行 Hash 计算得到一个 Hash 值。MySQL Server 不会对 SQL 做任何处理,SQL 必须完全一致 Hash 值才会一样。得到 Hash 值之后,通过该 Hash 值到查询缓存中匹配该查询的结果。

阅读更多

MySQL 锁相关面试题

MySQL锁相关面试题

为什么需要加锁

如果有多个并发请求存取数据,在数据就可能会产生多个事务同时操作同一行数据。如果并发操作不加控制,不加锁的话,就可能写入了不正确的数据,或者导致读取了不正确的数据,破坏了数据的一致性。因此需要考虑加锁。

表级锁和行级锁有什么区别?

MyISAM 仅仅支持表级锁,一锁就锁整张表,这在并发写的情况下性非常差。

阅读更多

MySQL 执行计划分析

什么是执行计划?

执行计划 是指一条 SQL 语句在经过 MySQL 查询优化器 的优化会后,具体的执行方式。

执行计划通常用于 SQL 性能分析、优化等场景。通过 EXPLAIN 的结果,可以了解到如数据表的查询顺序、数据查询操作的操作类型、哪些索引可以被命中、哪些索引实际会命中、每个数据表有多少行记录被查询等信息。

如何获取执行计划?

MySQL 为我们提供了 EXPLAIN 命令,来获取执行计划的相关信息。

阅读更多

MySQL 优化

SQL 语句优化

查询优化

1. Explain 分析

  • 先开启慢查询日志
1
2
set global slow_query_log = on # 开启慢查询日志,默认是关闭的
set global long_qurey_time=0.5 # 设置慢查询时间阈值,单位:秒
阅读更多

MySQL 数据类型

数据类型

整型

TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT 分别使用 8, 16, 24, 32, 64 位存储空间,一般情况下越小的列越好。

INT(11) 中的数字只是规定了交互工具显示字符的个数,对于存储和计算来说是没有意义的。

浮点数

FLOAT 和 DOUBLE 为浮点类型,DECIMAL 为高精度小数类型。CPU 原生支持浮点运算,但是不支持 DECIMAl 类型的计算,因此 DECIMAL 的计算比浮点类型需要更高的代价。

阅读更多

MySQL 索引

定义

索引是对数据库表中一列或者多列的值进行排序的结构。

目的

数据库索引好比一本书的目录,提高查询效率。但是为表设置索引要付出相应的代价:

  • 增加了数据库的存储空间
  • 在插入和修改时需花费更多的时间(因为索引也要随之变动)

分类

1. 聚集索引

索引项的顺序与表中记录的物理顺序一致。对于聚集索引,叶子结点即存储其真实的数据行,不再有另外单独的数据页。

阅读更多

MySQL 架构

MySQL 基本架构

简单来说 MySQL 主要分为 Server 层存储引擎层

  • Server 层

    主要包括连接器、查询缓存、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图,函数等,还有一个通用的日志模块 binglog 日志模块。

  • 存储引擎层

    主要负责数据的存储和读取,采用可以替换的插件式架构,支持 InnoDB、MyISAM、Memory 等多个存储引擎,其中 InnoDB 引擎有自有的日志模块 redolog 模块。现在最常用的存储引擎是 InnoDB,它从 MySQL 5.5.5 版本开始就被当做默认存储引擎了

阅读更多