MySQL
文章平均质量分 90
莫得感情的小伙伴
莫得感情
展开
-
数据库开发设计维护规范
数据库开发设计维护规范编写目的从数据库设计阶段介入,尽量提前避免由于数据库设计不当而产生的性能问题,同时形成公司特有的、统一的规范化数据库设计模式,也便于后续的开发、运维工作。影响数据库性能的因素(设计方面)数据库擅长(存/取/索引)数据,不擅长逻辑处理,计算,所以数据库需要大内存(热数据最好占5%-10%)的机器。 影响整个库的因素: 单实例太多表,单表太多字段,字段设计不合理,索引设计不合理,存储大字段如图片,文件,sql写的不好,太多业务逻辑放在数据库,高并发下的锁..原创 2020-09-21 14:23:59 · 409 阅读 · 0 评论 -
常用存储引擎
一、mysql 有哪些常用存储引擎。 InnoDB MyISAM NDB Memory Merge二、特点与适用场景2.01 InnoDB特点 InnoDB是Mysql的默认存储引擎(Mysql5.5.5之前是MyISAM),事务安全 三大特性(自适应hash,双写,插入缓冲)2.02 InnoDB适用场景 适用 OLTP(联机事务处理过程)系统 对事务的完整性有较高的要求,在并发条件下要求数据的一致性,数据操作中包...原创 2020-09-21 14:21:38 · 197 阅读 · 0 评论 -
MySQL数据库灵魂拷问
### MySQL数据库灵魂拷问-基础篇##### 1、 什么是事务? 事务是数据库最小逻辑单位,是一个或者一组sql的集合##### 2、 事务的ACID特性? A=Atomicity 原子性:就是上面说的,务是数据库最小逻辑单位。 C=Consistency 一致性:系统总是从一个一致性的状态转移到另一个一致性的状态。 I=Isolation 隔离性: 通常来说:一个事务在完全提交之前,对其他事务是不可见的.注意前面的通常来说加了红色,意味着有例外情况。...原创 2020-09-14 11:03:20 · 328 阅读 · 0 评论 -
SQL 的奇妙旅程
一条SQL的奇妙旅行工作中我们经常查询数据库,用一个查询,得到想要的数据。可有想过,我们得到答案经过了哪些磨难?经历了哪些诱惑?本节将以一个sql的执行过程来了解 MySQL 整体架构,对mysql有一个全面,清晰的认知,for造航母。开始旅行第一关: 连接器,客户端发送一条查询给服务器,包含客户端相关信息(IP,用户,密码);服务器完成验证(报告太君,自己人,可以放行)。第二关: 查询缓存,执行查询语句的时候,会先查询缓存,我们会发现某个查询,查询第二次的时候非常快便是这个原因(MyS原创 2020-09-03 12:18:23 · 135 阅读 · 0 评论 -
mysql 锁范围测试
测试过得版本有 8.0.18 根据唯一索引、非唯一索引和无索引,以及数据库中是否存在查询边界,进行测试。结果如下,其中边界5存在索引中,边界6不在。数据量新增到7万测试结果还是一样。表数据如下图:id为主键userid为二级索引,非唯一锁范围矩阵(间隙锁是针对insert来说的) 唯一 ...原创 2020-07-30 14:42:36 · 713 阅读 · 1 评论 -
MYSQL8.0 实用新功能
一、在线持久化参数1.支持参数持久化到配置文件(持久化到data目录的 mysqld-auto.cnf,该配置文件参数级别要高于/etc/my.cnf中的) 语法案例: SET persistinnodb_buffer_pool_size= 1073741824二、账户与安全1. 用户的创建与授权 在MySQL5.7的版本: > grant all privileges on *.* to '用户名...原创 2020-07-17 16:10:54 · 206 阅读 · 0 评论 -
MYSQL8 备份原理
1 首先记录开始的LSN(全备的话就是从0开始,增备的话从指定路径,或者从表中获取)并启动一个xtrabackup_log后台检测的 fork进程,实时检测mysql redo的变化,一旦发现redo有新的日志写入,立刻将日志写入到日志文件xtrabackup_log中,所以还原的时候为什么需要prepare就是这个原因,数据是非一致性的,还有部分在xtrabackup_log中。2 复制innodb的数据文件和系统表空间文件idbdata1到对应的以默认时间戳为备份目录的地方(流式备份就没有这个目录咯原创 2020-07-13 10:02:18 · 267 阅读 · 0 评论 -
数据库操作行为规范(持续更新)
1、超100万行的批量写(UPDATE、DELETE、INSERT)操作,要分批多次进行操作 大批量操作可能会造成严重的主从延迟,主从环境中,大批量操作可能会造成严重的主从延迟,大批量的写操作一般都需要执行一定长的时间,而只有当主库上执行完成后,才会在其他从库上执行,所以会造成主库与从库长时间的延迟情况。 binlog日志为row格式时会产生大量的日志,大批量写操作会产生大量日志,特别是对于row格式二进制数据而言,由于在row格式中会记录每一行数据的修改,我们一次修改的...原创 2020-07-13 09:49:05 · 965 阅读 · 0 评论 -
MySQL 实用基础
第一问:为什么要使用固定字段?逻辑删除字段,行业共识,数据库不允许物理删除数据,哪怕是错误数据,错误数据也是有一定价值的。然后可快速恢复,就是数据库的手动后悔药。 创建人,对于数据的掌控,很重要,谁创建的,一般使用在后台管理中较多。 创建时间,对于数据的掌控 数据何时进入数据库 很重要。 更新时间,对于数据的掌控 数据何时更 也很重要。 备注字段,数据库一般都会涉及到手动修改,或者间接关联,都可使用这个字段标注。第二问:为什么建议使用 NOT NULL 限制列属性?读取..原创 2020-07-13 09:31:08 · 156 阅读 · 0 评论 -
MySQL InnoDB 数据写入原理
我是一个莫得感情的小伙伴一、前言原创 2020-05-26 09:53:14 · 2538 阅读 · 2 评论 -
分享一次解决 MySQL too many connections 的过程
从枯燥的DBA工作中获取一丢丢的快落,我是一个莫得感情的铁憨憨。阅读需知:1.mysql 数据库最大连接数量是可以手动配置的(参数max_connections) 2.实际给普通用户使用的连接数只有N-1个,保留一个连接是留给超级管理员使用的。 3.问题好解决,本文分享的是解决问题中遇到的趣事。问题背景...原创 2020-04-30 09:47:24 · 464 阅读 · 0 评论 -
MySQL 数据库安全管理
MySQL 数据库安全管理一、前言 数据安全是每一个企业都非常关注的问题,甚至有的企业,数据就是一切,失去数据则可能造成无法估计,无法挽回的损失,甚至产品永久下线的风险。 本文将介绍MySQL安全管理策略相关内容,着重介绍MYSQL服务层安全处理措施。 二、编写目的 提高数据库使用者,数据库安全相关意识。 增强数据库抵抗能力,降低数据库故障几率,维护数据库数...原创 2020-05-28 18:04:55 · 3463 阅读 · 5 评论