
MySQL
文章平均质量分 91
Moonxiyue
这个作者很懒,什么都没留下…
展开
-
【MySQL 8】MySQL 5.7都即将停只维护了,是时候学习一波MySQL 8了
用户的创建和授权在MySQL之前的版本,创建用户和给创建的用户授权可以一条语句执行完成:在MySQL 8中,创建用户和授权需要分开执行,否则会报错,执行不成功:在 中,需要分2不完成创建用户和授权的操作:再执行创建用户时,出现了如下错误:这是因为我的 安装完成后,进入命令行用的还是临时密码,并未修改root的初始密码,需要修改密码才允许操作。修改密码操作:再创建用户即可:认证插件在MySQL中,可以用 命令查看一些设置的MySQL变量,其中密码认证插件的变量名称是 。MySQ原创 2022-06-20 19:30:04 · 2058 阅读 · 5 评论 -
掘地三尺搞定 Redis 与 MySQL 数据一致性问题
在本文正式开始之前,我觉得我们需要先取得以下两点的共识:目录如下:[toc]数据一致性指的是:反推缓存与数据库不一致:把 Redis 作为缓存的时候,当数据发生改变我们需要双写来保证缓存与数据库的数据一致。数据库跟缓存,毕竟是两套系统,如果要保证强一致性,势必要引入 或 等分布式一致性协议,或者分布式锁等等,这个在实现上是有难度的,而且一定会对性能有影响。如果真的对数据的一致性要求这么高,那引入缓存是否真的有必要呢?在使用缓存时,通常有以下几种缓存使用策略用于提升系统性能:所谓「旁路缓存」,就是读取缓存原创 2022-06-19 17:21:55 · 140 阅读 · 0 评论 -
一文说透 MySQL JSON 数据类型(收藏)
JSON 数据类型是 MySQL 5.7.8 开始支持的。在此之前,只能通过字符类型(CHAR,VARCHAR 或 TEXT )来保存 JSON 文档。相对字符类型,原生的 JSON 类型具有以下优势:在 JSON 类型引入之前,如果我们想要获取 JSON 文档中的某个元素,必须首先读取整个 JSON 文档,然后在客户端将其转换为 JSON 对象,最后再通过对象获取指定元素的值。下面是 Python 中的获取方式。这种方式有两个弊端:一、消耗磁盘 IO,二、消耗网络带宽,如果 JSON 文档比较大,在原创 2022-06-10 15:04:55 · 1657 阅读 · 1 评论 -
请你简单说一下Mysql的事务隔离级别
Mysql的事务隔离级别它有四种1.读已提交2.可重复读3.串行化4.未提交读这四种隔离级别代表的是说我在不同的那个...就是我多个事务竞争的时候那么我每一个就是我的这个事务并发执行的时候并行执行的时候我对数据的一个影响。比如说我事务之间的一个隔离性,所以通过不同的这种隔离级别它可以去解决所谓的这个幻读或者不可重复读以及说那个读未提交这些问题。然后我记得就是这个最安全的是那种就串行化,串行化就是说它不会存在任何的这个上面幻读不可重复读的一些问题。好的,关于这个问题,我会从几个方面来回答。首先,事务隔离原创 2022-06-10 14:59:58 · 134 阅读 · 0 评论 -
你不得不懂的mysql隔离级别底层
mysql作为最常用的关系型数据库,无论是在应用还是在面试中都是必须掌握的技能。要印在脑子里面的东西DDL:数据定义,它用来定义数据库对象,包括库,表,列,通过ddl我们可以创建,删除,修改数据库和表结构;DML:数据操作语言,增加删除修改数据表中的记录;DCL:数据控制语言,定义访问权限和安全级别;DQL:数据查询语言,用它来查询想要的记录。SQL执行顺序:from;joinonwhere;group by;avg,sum.... 使用聚集函数进行计算;having;select;distinct;ord原创 2022-06-09 15:07:30 · 170 阅读 · 0 评论 -
如何在MySQL中查找数据
数据库中表的数据被划分为若各个页(page),每个页中又存储了很多行记录,而我们往MySQL中插入的每行记录就放到页当中的行记录中,InnoDB的页分为以下几个部分InnoDB的页被划分为了7个部分,有的部分大小是确定的,有的部分不确定,各个部分说明如下File Header,表⽰页的⼀些通⽤信息,占固定的38字节。Page Header,表⽰数据页专有的⼀些信息,占固定的56个字节。Infimum + Supremum,两个虚拟的伪记录,分别表⽰页中的最⼩和最⼤记录,占固定的26个字节。User Reco原创 2022-06-07 20:46:48 · 1864 阅读 · 0 评论 -
数据库基础之树形查询结构设计
树形数据结构是我们常见的一种数据结构,比如文件目录、公司组织结构等。但是关系型数据库却没有对应的原生数据结构去存储查询这种数据结构,本文介绍了几种实现关系型数据库树形数据存储的方式供大家参考。树形结构是生活中常见的数据结构之一,如公司的组织结构、计算机文件的目录结构和家庭族谱等。本文将以区域作为示例,介绍几种常见的数据库实现树形查询的方式:树形结构的关键属性:深度毗邻目录模式在树形结构数据的每条记录中,记录了指向父数据的记录,如下图所示:数据库中的表结构如下所示:查询情况1:当我们需要查询上海的直接父区域时原创 2022-06-06 17:15:15 · 353 阅读 · 0 评论 -
MySQL 总是差八个小时,如何破?
今天来聊一个简单的话题,这是一个小伙伴在微信上问我的,对于初学者我非常能理解这类问题带来的困扰,各种尝试,各种搜索,别人说的头头是道,但是就是解决不了自己的问题,今天我简单从两个方面来和大家聊聊这个问题,如果小伙伴们有其他的解决思路,也可以留言一起分享。这个问题我们可以从两方面来分析:MySQL 本身问题,这个其实很好验证,不就是时间么,我们执行如下 SQL 看看 MySQL 上的时间跟我的电脑时间是否是一致的:可以看到,MySQL 的这个时间跟我系统的时间其实就差了 8 小时,MySQL 本身的时间原创 2022-06-02 19:16:07 · 2588 阅读 · 0 评论 -
数据库资源负载管理(下篇)
openGauss 资源负载管理的核心是资源池,而配置资源池首先要在环境中实现控制组 Cgroups 的设置。更多 Cgroups 的原理介绍,请查看相关操作系统的产品手册。Class 控制组为数据库业务运行所在的顶层控制组,集群部署时会自动生成默认子 Class 控制组 “DefaultClass”。DefaultClass 的 Medium 控制组会含有系统触发的作业在运行,该控制组不允许进行资源修改,且运行在该控制组上的作业不受资源管理的控制,所以推荐创建新的子 Class 及其 Workload 控原创 2022-06-02 19:12:26 · 302 阅读 · 0 评论 -
10个人9个答错,另外1个只对一半:数据库的锁,到底锁的是什么?
在MySQL数据库中,为了解决并发问题,引入了很多的锁机制,很多时候,数据库的锁是在有数据库操作的过程中自动添加的。所以,这就导致很多程序员经常会忽略数据库的锁机制的真正的原理。比如,我经常在面试中会问候选人,你知道MySQL Innodb的锁,到底锁的是什么吗?关于这个问题的回答,我听到过很多种,但是很少有人可以把他回答的很完美。因为想要回答好这个问题,需要对数据库的隔离级别、索引等都有一定的了解才行。MySQL Innodb的锁的相关介绍,在MySQL的官方文档(https://dev.mysql.co原创 2022-06-02 16:33:33 · 153 阅读 · 0 评论 -
MySQL 默认隔离级别是RR,为什么阿里等大厂会改成RC?
主要是因为MySQL在主从复制的过程是通过bin log 进行数据同步的,而MySQL早期只有statement这种bin log格式,这种格式下,bin log记录的是SQL语句的原文。当出现事务乱序的时候,就会导致备库在 SQL 回放之后,结果和主库内容不一致。为了解决这个问题,MySQL默认采用了Repetable Read这种隔离级别,因为在 RR 中,会在更新数据的时候增加记录锁的同时增加间隙锁。可以避免这种情况的发生。关于MySQL的加锁方式及加锁原则,这里就不再赘述了。这里就不再赘述了。在我知原创 2022-06-02 14:18:53 · 187 阅读 · 0 评论