![](https://img-blog.csdnimg.cn/20191117115012615.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySQL
文章平均质量分 94
前尘忆梦Memory
这个作者很懒,什么都没留下…
展开
-
阿里云CentOS 8.3 安装MySQL 8.0
一、阿里云服务器配置1、修改阿里云hostname修改/etc/hostname文件,替换原有内容并重启服务器。2、查看系统是否安装的MariaDB数据库查看系统是否由默认安装的MariaDB数据库,如果有,安装下面操作卸载即可,如果没有,可以跳过这一步。rpm -qa | grep mariadbmariadb-libs-5.5.60-1.el7_5.x86_64卸载系统安装的MariaDB数据库rpm -e --nodep...原创 2021-11-17 01:15:54 · 937 阅读 · 3 评论 -
Explain执行计划key_len详解
我们在使用Explain查看SQL执行计划时,其中有一列为key_kenEXPLAIN select * FROM user WHERE id = 1;key_len表示使用的索引长度,key_len可以衡量索引的好坏,key_len越小索引效果越好,那么key_len的长度是如何计算的?常见的列类型长度计算:列类型 是否为空 长度 key_len 备注 tinyint 允许NULL 1 key_len = 1+1 允许NULL,k.原创 2020-11-05 01:06:58 · 8633 阅读 · 4 评论 -
MySQL性能优化——Explain执行计划详解
我们通过慢查询日志已经知道哪些SQL慢了,为什么慢呢?慢在哪里?MySQL提供了一个执行计划的工具,在MySQL架构中,SQL语句通过优化器最终生成的就是一个执行计划。通过EXPLAIN我们可以模拟优化器执行SQL查询语句的过程,来知道MySQL是怎么处理一条SQL语句的。通EXPLAIN我们可以分析语句或者表的性能瓶颈,然后进行优化。我们新建三张表,三张表只有主键索引,来详细讲解一下EXPLAIN。我们通过慢查询日志已经知道哪些SQL慢了,为什么慢呢?慢在哪里?MySQL提供了一个执行计划原创 2020-11-04 23:15:38 · 1598 阅读 · 0 评论 -
MySQL索引(一)—— 索引介绍
一、索引索引是什么?打个比方来说,我们要从一本字典中查一个字,我们怎么查?首先我们根据这个字的读音,在目录找到这个字所在的页码,然后再根据页码,找到这个字。目录的好处就是我们能够快速的查到这个字,索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。索引是应用程序设计和开发的一个重要方面。若索引太多,应用程序的性能可能会受到影响。而索引太少,对查询性能又会产生影响。要找到一个合适的平衡点,这对应用程序的性能至关重要。在InnoDB存储引擎中,支持以下几种常见的索引:B+树索引原创 2020-10-22 10:45:20 · 744 阅读 · 2 评论 -
MySQL日志(一)—— 重做日志文件redo log
在InnoDB存储引擎的数据目录下会有两个名为ib_logfile0和ib_logfile1的文件。在MySQL官方手册中将其称为InnoDB存储引擎的日志文件,不过更准确的定义应该是重做日志文件(redo log file)。为什么强调是重做日志文件呢?因为重做日志文件对于InnoDB存储引擎至关重要,它们记录了对于InnoDB存储引擎的事务日志。...原创 2020-10-03 14:29:12 · 465 阅读 · 0 评论 -
MySQL锁 —— 记录锁、间隙锁、临键锁、自增锁
一、MySQL数据库锁介绍锁是数据库系统区别于文件系统的一个关键特性。锁机制用于管理对共享资源的并发访问,在MySQL数据库中,MyISAM引擎只支持表锁,而InnoDB引擎既支持表锁,也支持行锁。MySQL中的锁分为如下几种:1.1、行锁InnoDB存储引擎实现了如下两种标准的行级锁:共享锁(行锁):Shared Locks排它锁(行锁):Exclusive LocksS和X锁都是行锁,兼容是指对同一记录(row)锁的兼容性情况。 X .原创 2020-09-26 11:27:24 · 1421 阅读 · 0 评论 -
MySQL日志(一)—— 慢查询日志slow log
一、慢查询日志(slow log)慢查询日志,就是查询超过一定的时间没有返回结果的时候,MySQL会将执行的SQL记录到日志中,这个日志,就称为慢查询日志。通过分析慢查询日志,可以快速找出执行慢的SQL语句,然后进行优化。二、开启慢查询日志默认情况下,MySQL并不开启慢查询日志,需要用动开启show variables like 'slow_query_log';mysql> show variables like 'slow_query_log';+-----------原创 2020-09-11 19:04:35 · 3027 阅读 · 0 评论 -
MySQL日志(二)—— 二进制日志binlog
一、binlog介绍mysql-binlog是MySQL数据库的二进制日志,记录了所有的DDL和DML语句(不包括select语句),还包含语句所执行的消耗的时间,另外MySQL的二进制日志是事务安全型的。一般来说开启binlog日志会有一定的性能损耗。二、binlog使用场景无论是增量备份还是主从复制,都是需要开启mysql-binlog日志,并且在磁盘故障的时候可以利用mysql-binlog恢复数据。1、主从复制:mysql replication在master端开启binlog,原创 2020-08-26 21:37:52 · 1521 阅读 · 0 评论 -
MySQL事务(一)—— 事务简介
一、事务简介事务是数据库操作的最小工作单元,是一组不可再分割的操作集合,要么全部执行,要么全部失败。在MySQL中,事务是一组具有原子性的SQL语句,一组 SQL 语句要么全部执行,要么全部不执行。事务支持是在引擎层实现的,只有使用了 Innodb 数据库引擎的数据库或表才支持事务,MyISAM引擎不支持事务,事务用来管理 insert,update,delete 语句,同时事务是数据...原创 2020-03-07 11:29:50 · 188 阅读 · 0 评论 -
腾讯云CentOS 7.6 安装MySQL 5.7
一、卸载MariaDB数据库1、查询系统默认安装的MariaDB数据库rpm -qa | grep mariadbmariadb-libs-5.5.60-1.el7_5.x86_642、卸载MariaDBrpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64二、安装MySQL1、CentOS 的yum源中没有mysql,需要到mysq...原创 2019-11-15 11:53:49 · 880 阅读 · 0 评论