MySQL
文章平均质量分 93
由浅入深的探索MySQL体系结构、备份恢复、复制、高可用集群架构、优化、故障排查、新版本特性、监控升级等快速掌握索引,如何避免索引失效,索引的优化策略,了解innodb和myisam存储引擎,熟悉MySQL锁机制,能熟练配置MySQL主从复制,熟练掌握explain、show profile、慢查
试剑江湖。
做你没做过的事叫成长,做你不愿意做的事叫改变,做你不敢做的事叫突破。
展开
-
【MySQL】事务
MySQL事务是指对数据库的一组操作要么全部成功,要么全部失败。事务是由 MySQL 的引擎来实现的,我们常见的 InnoDB 引擎它是支持事务的。不过并不是所有的引擎都能支持事务,比如 MySQL 原生的 MyISAM 引擎就不支持事务,也正是这样,所以大多数 MySQL 的引擎都是用 InnoDB。MySQL的事务默认是自提交式模式,如果想要开启事务,必须以begin命令开始,以commit或者rollback命令结束。原创 2023-10-14 13:57:57 · 290 阅读 · 0 评论 -
【MySQL】资深开发竟然不清楚int(1)和int(10)的区别
int后面的数字不能表示字段的长度,int(num)一般加上zerofill,才有效果。zerofill的作用一般可以用在一些编号相关的数字中,比如学生的编号 001 002 … 999这种,如果mysql没有零填充的功能,但是你又要格式化输出等长的数字编号时,那么你只能自己处理了。原创 2023-07-05 22:34:40 · 534 阅读 · 0 评论 -
【MySQL】日志文件原理学习
日志是mysql数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。通过分析日志,我们可以优化数据库性能,排除故障,甚至能够还原数据, 不管是哪个数据库产品,一定会有日志文件。作为开发,我们重点需要关注的是二进制日志(binlog)和事务日志(包括redo log和undo log),本文接下来会详细介绍这三种日志。原创 2022-12-18 14:13:30 · 1380 阅读 · 0 评论 -
【MySQL】慢 SQL 分析与优化
从系统设计角度看,一个系统从设计搭建到数据逐步增长,SQL 执行效率可能会出现劣化,为继续支撑业务发展,我们需要对慢 SQL 进行分析和优化,严峻的情况下甚至需要对整个系统进行重构。所以我们往往需要在系统设计前对业务进行充分调研、遵守系统设计规范,在系统运行时定期结合当前业务发展情况进行系统瓶颈的分析。从数据库角度看,每个 SQL 执行都需要消耗一定 I/O 资源,SQL 执行的快慢,决定了资源被占用时间的长短。假如有一条慢 SQL 占用了 30%的资源共计 1 分钟。原创 2022-08-19 23:54:32 · 974 阅读 · 0 评论 -
【MySQL】MySQL之Innodb的MVCC工作原理
MVCC(Multi-Version Concurrency Control)即多版本并发控制。MVCC 是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问。MVCC使得大部分支持行锁的事务引擎,不再单纯的使用行锁来进行数据库的并发控制,取而代之的是把数据库的行锁与行的多个版本结合起来,只需要很小的开销,就可以实现非锁定读,从而大大提高数据库系统的并发性能。原创 2021-01-31 17:58:01 · 101 阅读 · 0 评论 -
【MySQL】MySQL常用SQL关键字
MySQL常用SQL语句原创 2019-10-23 10:12:06 · 693 阅读 · 0 评论 -
【MySQL】MySQL索引
MySQL数据结构和数据库设计范式原创 2020-09-15 22:55:16 · 161 阅读 · 0 评论 -
【MySQL】MySQL 答疑解惑
1.MySQL 的事务隔离级别有哪些?分别用于解决什么问题?主要用于解决脏读、不可重复读、幻读。脏读:一个事务读取到另一个事务还未提交的数据。 不可重复读:在一个事务中多次读取同一个数据时,结果出现不一致。 幻读:在一个事务中使用相同的 SQL 两次读取,第二次读取到了其他事务新插入的行。不可重复读注重于数据的修改,而幻读注重于数据的插入。 隔离级别 脏读 不可重复读 幻读 读未提交(Rea...转载 2021-02-11 17:12:09 · 364 阅读 · 0 评论 -
mysql创建存储过程是出现 Display all 475 possibilities? (y or n)错误的处理方法
写好命令,复制一整片代码运行,发现好多提示:Display all 475 possibilities? (y or n) 导致复制失败,一查原因,原来是复制的代码中包含了Tab缩进,只要将原来复制的代码中的Tab空格全部去掉即可,完美解决问题~...转载 2019-10-01 16:49:16 · 2758 阅读 · 1 评论 -
【MySQL】常见知识点总结一
(1)非关系型数据库和关系型数据库区别,优势比较 非关系型数据库(感觉翻译不是很准确)称为NoSQL,也就是 Not Only SQL,不仅仅是 SQL。非关系型数据库不需要写一些复杂的 SQL 语句,其内部存储方式是以key-value的形式存在可以把它想象成电话本的形式, 常见的非关系型数据库主要有Hbase、Redis、MongoDB等。非关系型数据库不需要经过...原创 2020-04-21 09:42:27 · 278 阅读 · 0 评论 -
【MySQL】字段为Null 会导致的问题
正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信息,如下图所示:-- 查看SQL 配置信息SHOW VARIABLES;-- 使用Like 模糊查询 查看全量日志相关的配置SHOW VARIABLES LIKE "general_log%";“兵马未动粮草先行”,看完了相关的配置之后,我们先来创建一张测试表和一些测试数据。-- 如果存在 person 表先删除DROP TABLE IF EXISTS person; -- 创建 person 表,其中 us..转载 2021-01-06 21:18:39 · 1468 阅读 · 0 评论 -
【MySQL】MySQL索引—B+树
索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在 [1,2,3,4] 中找到 4 这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。...转载 2021-06-14 23:13:27 · 259 阅读 · 0 评论 -
【MySQL】监听MySQL的binlog日志工具分析:Canal
Canal是阿里巴巴旗下的一款开源项目,利用Java开发。主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费,目前主要支持MySQL。转载 2021-02-03 23:11:09 · 848 阅读 · 0 评论 -
【MySQL】Innodb 体系结构
MySQL数据库是一个单进程多线程模型的数据库原创 2021-01-17 00:33:41 · 301 阅读 · 0 评论 -
【MySQL】MySQL主存复制
相关文章 主从复制转载 2020-10-14 17:01:43 · 221 阅读 · 0 评论 -
【架构设计】分库分表
一、分库分表—扩容分库、分表、垂直拆分和水平拆分 分库:因一个数据库支持的最高并发访问数是有限的,可以将一个数据库的数据拆分到多个库中,来增加最高并发访问数。 分表:因一张表的数据量太大,用索引来查询数据都搞不定了,所以可以将一张表的数据拆分到多张表,查询时,只用查拆分后的某一张表,SQL 语句的查询性能得到提升。 分库分表优势:分库分表后,承受的并发增加了多倍;磁盘使用率大大降低;单表数据量减少,SQL 执行效率明显提升。 水平拆分:把一个表的数据拆分到多个数据库,每个数据库中的表...原创 2020-10-04 02:14:11 · 600 阅读 · 0 评论 -
【MySQL】47 条SQL语句性能优化策略
你知道的越多,你不知道的越多!转载 2020-09-08 13:35:16 · 447 阅读 · 0 评论 -
【MySQL】MySQL事务
脏读:当一个事务读取到另外一个事务修改但未提交的数据时,就可能发生脏读 不可重复读:当多个事务同时执行SELECT 操作时没有获得读锁或者执行完后马上释放了读锁;同时另外一个事务对数据进行了更新,读到了不同的结果。 幻读:又叫"幻象读",是''不可重复读''的一种特殊场景:当事务1两次执行''SELECT ... WHERE''检索一定范围内数据的操作中间,事务2在这个表中创建了(如[[INS...原创 2020-04-11 11:34:42 · 386 阅读 · 0 评论 -
【MySQL】MySQL之Explain执行计划
常见问题Explain完整总结 Explain执行计划 官网 我的笔记在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询时,会返回执行计划的信息,而不是执行这条SQL(如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中)数据准备:CREATE TABLE course (cid INT (3), cname VARCHAR (20), tid INT (3));CREATE TABLE teacher (tid INT原创 2020-09-28 11:00:11 · 141 阅读 · 0 评论 -
【MySQL】MySQL面试题精选
开始【1期】MySQL1主2从,主从同步是怎么是实现的? 【2期】Redis Io多路复用机制 【3期】Redis持久化优缺点(RDB/AOF/AOF+RDB) 【4期】next-lock锁怎么解决的幻读? ...原创 2020-04-29 15:44:01 · 226 阅读 · 0 评论 -
【MySQL】MySQL数据库文件
本文将从MySQL数据库和存储引擎层面来介绍各种类型的文件。数据库层面的文件有参数文件(my.cnf)、错误日志(error.log)、慢查询日志(slow.log)、全量日志(general.log)、二进制日志(binlog)文件、审计日志(audit log)、中继日志(relay log)、套接字文件(socket)、进程(pid)文件和表结构文件。存储引擎层面有 redo log和undo log 日志文件。...原创 2020-08-23 23:22:35 · 318 阅读 · 0 评论 -
MySQL总体架构_查询执行流程_语句执行顺序
执行顺序数据库架构总览转载 2019-09-29 20:38:15 · 136 阅读 · 0 评论 -
【MySQL】MySQL的锁机制
一、理论知识1.1 死锁的条件二、InnoDB 的锁 共享锁与独占锁(S、X) 意向锁 记录锁(Record Locks) 间隙锁(Gap Locks) Next-Key Locks 插入意向锁 自增锁 空间索引断言锁 ...原创 2020-07-27 23:02:46 · 273 阅读 · 0 评论 -
【MySQL】MySQL show 命令说明
命令说明:show tables或show tables from database_name或show database_name.tables;解释:显示当前数据库中所有表的名称show databases;解释:显示mysql中所有数据库的名称show processlist;解释:显示系统中正在运行的所有进程,也就是当前正在执行的查询。大多数用户可以查看他们自己的进程,但是如果他们拥有process权限,就可以查看所有人的进程,包括密码。show table status;转载 2021-03-10 16:56:19 · 348 阅读 · 0 评论 -
【MySQL】MySQL使用常见问题处理办法
Java插入中文到数据库中文变成问号???解决办法原创 2018-11-13 23:55:27 · 3333 阅读 · 0 评论