随笔分类 -  MySQL

Mysql数据库的相关知识
摘要:MySQL慢查询优化 一、慢查询开启 slow_query_log 慢查询开启状态 slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录) long_query_time 查询超过多少秒才记录 查看参数配置情况: 阅读全文
posted @ 2024-11-13 10:33 欢乐豆123 阅读(62) 评论(0) 推荐(0)
摘要:MySQL主从同步的三种模式 概要 随着业务的增长,一台数据服务器已经满足不了需求了,负载过重。这个时候就需要减压了,实现负载均衡读写分离,一主一丛或一主多从。 主服务器只负责写,而从服务器只负责读,从而提高了效率减轻压力。 一、相关概念 1. master--主数据库 2. slave--从数据库 阅读全文
posted @ 2024-11-11 17:46 欢乐豆123 阅读(48) 评论(0) 推荐(0)
摘要:InnoDB存储引擎中的锁 概要 人们认为行级锁总会增加开销。实际上,只有当实现本身会增加开销时,行级锁才会增加开销。InnoDB存储引擎不需要锁升级,因为一个锁和多个锁的开销是相同的。 一、什么是锁 ? 锁是数据库系统区别于文件系统的一个关键特性。锁机制用于管理对共享资源的并发访问。 二、锁类型 阅读全文
posted @ 2024-07-06 12:21 欢乐豆123 阅读(55) 评论(0) 推荐(0)
摘要:MySQL中的MVCC实现机制 一、什么是MVCC? MVCC (Multiversion Concurrency Control) 中文全称叫多版本并发控制,是现代数据库(包括 MySQL、Oracle、PostgreSQL 等)引擎实现中常用的处理读写冲突的手段,目的在于提高数据库高并发场景下的 阅读全文
posted @ 2024-03-25 15:05 欢乐豆123 阅读(156) 评论(0) 推荐(0)
摘要:MySQL三大范式 数据库设计的三范式(Normal Form)是一组关于关系型数据库设计的规范,目的是为了减少冗余数据、提高数据存储的效率,并确保数据的一致性。 三范式分为以下三个层次: 1. 第一范式(1NF): 表中每列的属性不可再分 数据表中的每一列都是不可再分的基本数据项,而且在每个记录中 阅读全文
posted @ 2024-01-20 17:10 欢乐豆123 阅读(193) 评论(0) 推荐(0)
摘要:MySQL-利用binlog恢复数据 这一篇文章里,我们来记录使用mysql-binlog来恢复数据的整个过程 一、前期准备 1、建库建表 创建数据库blog以及下面的article文章表 1 create table if not exists `article` ( 2 `id` int(11) 阅读全文
posted @ 2023-02-13 11:55 欢乐豆123 阅读(1562) 评论(0) 推荐(0)
摘要:MySQL-binlog日志初识 概要 binlog 即 binary log,二进制日志。 这个日志文件以事件的形式记录了数据结构的变更以及数据表的变更(DDL和DML),不包括select和show操作,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。 事件(event)即二 阅读全文
posted @ 2023-01-14 11:04 欢乐豆123 阅读(225) 评论(0) 推荐(0)
摘要:MySQL如何高效地随机读取数据 线上事故 生产项目中出现了一个线上事故,需求其实很简单:从mysql数据库中中随机读取出100条认证企业的数据到前端来展示,并且要求每一次读取的数据是不同的。 结果上线后,CPU负载过高,发生了报警。 1. 数据表 下面两表中, member_verify 中有约4 阅读全文
posted @ 2022-11-20 18:47 欢乐豆123 阅读(220) 评论(0) 推荐(0)
摘要:MySQL 不同版本下的group by 大家有没有遇到过这样的坑,在把MySQL升级到更高的版本,一些以前看上去不会出错的group by 操作在这个版本以后就会出现语法报错的情况。这里就来记录下我在使用mysqll分组查询所遇到的坑。 1 # 创建一张表,并插入几条数据 2 3 4 CREATE 阅读全文
posted @ 2021-12-31 13:18 欢乐豆123 阅读(818) 评论(0) 推荐(0)
摘要:MySQL事务日志 一、什么是MySQL事务? MySQL事务(Transaction)用于保证数据的一致性,事务是在数据库管理系统中执行的一个逻辑操作单元,它是由一组数据库操作组成的逻辑工作单元。 这一组操作要么全部成功,要么全部失败,不存在部分成功部分失败的情况,所有的操作共进退,因此事务是一个 阅读全文
posted @ 2021-09-13 13:10 欢乐豆123 阅读(244) 评论(0) 推荐(0)
摘要:InnoDB支持的事务隔离级别 令人惊讶的是,大部分数据库系统都没有提供真正的隔离性,最初或许是因为系统实现者并没有真正理解这些问题。如今这些问题已经弄清楚了,但是数据库实现者在正确性和性能之间做了妥协。ISO和ANIS SQL 标准指定了四种事务隔离级别的标准,但是很少有数据库厂商遵循这些标准。比 阅读全文
posted @ 2021-08-05 22:38 欢乐豆123 阅读(3926) 评论(0) 推荐(0)
摘要:MySQL索引进阶-聚簇索引和二级索引 索引分类 Mysql中索引主要分为以下几类: 1)数据结构 分为B+树索引、hash索引、FULLTEXT索引、R-Tree索引 2)逻辑角度 分为主键索引(PRIMARY KEY),唯一索引(UNIQUE),普通索引(INDEX),组合索引(INDEX),全 阅读全文
posted @ 2021-05-09 22:46 欢乐豆123 阅读(5976) 评论(1) 推荐(2)
摘要:MySQL进阶-InnoDB数据页 一、页的概念 InnoDB 会把存储的数据划分为若干个「页」,以页作为磁盘和内存交互的基本单位,一个页的默认大小为 16KB。可以把页理解为一个容器,这个容器时用来存储记录的。 查看页的大小命令:show status like 'innodb_page_size 阅读全文
posted @ 2021-05-09 17:39 欢乐豆123 阅读(907) 评论(0) 推荐(0)
摘要:MySQL索引基础-explain 各参数含义以及作用 本文来梳理一下MySQL索引的基础知识以及explain各参数含义及作用 一、主键 在 InnoDB 存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表,在InnoDB引擎表中,每张表都有个主键(Primary Key), 阅读全文
posted @ 2021-05-08 11:25 欢乐豆123 阅读(358) 评论(0) 推荐(0)
摘要:MySQL索引基础-索引的创建以及设计原则 一、MySQL索引基础 首先,我们将从索引基础开始介绍一下什么是索引,分析索引的几种类型,并探讨一下如何创建索引以及索引设计的基本原则。 为了测试索引,我们创建一个user表并插入几条数据,建立几个索引: 1 CREATE TABLE `user` ( 2 阅读全文
posted @ 2021-05-07 10:39 欢乐豆123 阅读(630) 评论(0) 推荐(0)
摘要:MySQL进阶-行格式 前言 最近打算深入地去理解MySQL底层的实现原理。比如常用的存储引擎InnoDB的行格式和数据结构。参考了很多资料,但是总感觉知识点是断断续续的。比如很多文章一开始就在讲InnoDB的行格式和数据页结构。我就一头雾水,就是不知道这些概念是怎么引出来的? 偶然发现一本宝藏书籍 阅读全文
posted @ 2020-12-17 16:25 欢乐豆123 阅读(456) 评论(0) 推荐(0)
摘要:Mysql的联(复)合索引 一、概念 两个或更多个列上的索引被称作联合索引,联合索引又叫复合索引。 对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c)。可以支持a | a,b| a,b,c 3种组合进 阅读全文
posted @ 2020-11-10 16:37 欢乐豆123 阅读(676) 评论(0) 推荐(0)
摘要:Mysql导入sql文件可能出现的问题 1. 可能出现的错误 本地导入sql文件时,出现'MySQL server has gone away'的错误 2. 问题分析 'MySQL server has gone away' 的问题意思就是指client和MySQL server之间的链接断开了。造 阅读全文
posted @ 2020-04-15 20:56 欢乐豆123 阅读(1107) 评论(0) 推荐(0)
摘要:基本上很多人都在使用navicat来管理和维护数据表和数据库,今天来整理一下如何将excel导入mysql数据表以及中间可能会出现的一些问题。 一、准备工作:整理需要用于导入的excel表 如图: 有几个地方需要注意一下: 1.book_id是表的主键,这个地方最好要填上依次递增的值,否则导入后由系 阅读全文
posted @ 2017-04-14 10:56 欢乐豆123 阅读(422) 评论(0) 推荐(0)