![](https://img-blog.csdnimg.cn/2020080710294433.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySql数据库
文章平均质量分 78
主要介绍MySql的相关原理及平时的一些用法和注意事项
泗水长流
克明俊德 格物致知
展开
-
mysql数据库中int字段长度,即int(1)和int(10)的区别
为什么想起来看这个问题,是最近有同事问mysql的init类型的字段长度的问题,他问int(1)和int(10)是什么意思,是字段长度越大,能存储的数字越大么?咋一问,还有点懵,从惯性思维来看,确实应该是这样。那么,实际情况是什么样的呢?这里直接通过实验来试一下。原创 2023-12-07 13:59:34 · 1024 阅读 · 0 评论 -
聊一聊MySQL锁的那些事
聊一聊MySQL锁的那些事1.MySQL锁的基本概念和分类1.1MySQL锁的概念1.2MySQL锁的分类2.全局锁2.1全局锁2.2全局锁的使用场景2.3如何备份数据库2.4全局锁与只读(readonly)的比较3.表级锁3.1表锁的使用场景3.2表锁中的读锁和写锁3.3元数据锁(MDL)3.4MDL的读锁和写锁3.5如何安全的给对表进行DDL的操作4.–single-transaction备份期间的影响5.行锁(InnoDB)5.1行锁简要5.2两阶段锁协议5.2实际应用两阶段锁协议5.3死锁5.4死锁原创 2021-03-27 22:41:40 · 194 阅读 · 1 评论 -
MySQL数据备份与恢复的那些事(一)
MySQL数据备份与恢复的那些事(一)一、MySQL主要日志的介绍(InnoDB)1.1 binlog1.1.1.binlog的概念1.1.2.binlog的作用1.1.3.binlog的格式1.1.4.binog的刷盘方式sync_binlog1.1.5.sync_binlog的生产建议设置1.2 redo log1.2.1 redo log的概念1.2.2 redo log的出现原因1.2.3 InnoDB引擎下数据更新过程1.2.4 redo log的刷盘频率—innodb_flush_log_at_原创 2021-03-22 20:25:48 · 121 阅读 · 0 评论 -
Lock wait timeout exceeded; try restarting transaction
Lock wait timeout exceeded; try restarting transaction1.前言2.原因探查1.前言今天线上环境日志,突然出现一个错误:Lock wait timeout exceeded; try restarting transaction)。凭经验可以推断,这是有某个事务直接时间太长没有提交,导致其他事务等待超时了。那么具体怎么排查呢?今天我在做一个关于事务的小测试。表结构:CREATE TABLE `test` ( `id` int(11) NOT原创 2021-03-05 11:30:01 · 660 阅读 · 3 评论 -
Centos-7下安装mysql(5.7.29)
@TOC1.前言最近写了几篇关于mysql的文章,今天闲来无事,凑空闲时间在Linux Centos-7 下安装了一下mysql,这也为了以后做实验的时候,能够方便一些。其实安装过程还是比较简单的。废话不说,我们直接开始2.实验物料Vmare Centos-7(64位) mysql 5.7.293.安装过程1.下载这里我直接找了一个国内的镜像,下载速度比较快,里面各种版本可以自行选择。http://mirrors.sohu.com/mysql我这里直接下载http://mirrors.原创 2020-08-12 18:04:54 · 694 阅读 · 0 评论 -
MySql工作中的常用命令
MySql常用命令1.数据库相关2.表相关3.表结构相关4.索引的操作1.数据库相关-- 登录数据库mysql -h127.0.0.1 -P3306 -uroot -p;--查看所有数据库show databases;--创建数据库create database test;--删除数据库drop database test;--使用数据库use test;2.表相关--查看所有的表show tables;--创建表create table test(id int, name原创 2020-08-10 22:27:02 · 205 阅读 · 0 评论 -
从根上开始学习MySql索引(二)
我心目中的MySql索引(二)前言InnoDB存储引擎的索引1.怎么理解索引2.索引的三级目录前言上一篇博客,我们用一定的篇幅说了一下MySql(InnoDB)底层采用的数据结构为B+Tree。在 MySQL 中,索引是在存储引擎层实现的,由于 InnoDB 存储引擎在 MySQL 数据库中使用最为广泛,所以下面所说的索引,都是基于InnoDB这个存储引擎来说的,这一点还请注意。InnoDB存储引擎的索引1.怎么理解索引在InnoDB中,表都是根据主键的顺序以索引的方式来存在的,所有的数据都存放在原创 2020-08-10 21:37:23 · 107 阅读 · 0 评论 -
从根上开始学习MySql索引(一)
我心目的中MySql索引写在最最前面的话1.SQL查询语句的执行过程1. MySql的组成2.Server层写在最最前面的话要深入理解MySql的索引知识,那就首先也是必须要先完全理解关于“树”这种数据结构,要不然我们就是看一百遍文章也不明白所以然。所以,如果你还没有完全理解“树”,那么就请先看之前的三篇博客:[《(一)树(树、二叉树、满二叉树、完全二叉树、二叉搜索树、二叉平衡树、B-Tree、B+Tree)》]《漫画:什么是B-树?》《漫画:什么是B+树?》那么要理解到什么程度呢?了解树的原创 2020-08-09 12:16:13 · 161 阅读 · 0 评论 -
漫画:什么是B-树?
二叉查找树的结构: 第1次磁盘IO: ...转载 2020-08-08 18:16:49 · 130 阅读 · 0 评论 -
漫画:什么是B+树?
漫画:什么是B+树?一个m阶的B树具有如下几个特征:1.根结点至少有两个子女。2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m3.每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m4.所有的叶子结点都位于同一层。5.每个节点中的元素从小到大排列,节点当中k-1个元素正好是k个孩子包含的元素的值域分划。...转载 2020-08-08 17:43:54 · 119 阅读 · 0 评论 -
(一)树(树、二叉树、满二叉树、完全二叉树、二叉搜索树、二叉平衡树、B-Tree、B+Tree)
树(树、二叉树、满二叉树、完全二叉树、二叉搜索树、B-Tree、B+Tree)1.树1.概念2.相关术语1.树1.概念树结构简单来说,就是数据元素之间具有层次关系的非线性结构。它是从自然界中的树抽象而来的,有树根、从树根发源类似枝杈的分支关系以及作为分支重点的叶子等。下面我们给出树结构的完整定义:树(tree)是由n(n ≥0)个节点组成的有限集合。n=0的树称为空树;n >0 的树T的特点如下:有一个特殊的节点称为根节点(root),它只有直接后继节点,没有直接前驱节点。当n ≥1时,原创 2020-08-08 17:39:10 · 250 阅读 · 0 评论 -
二叉搜索树的构建、遍历及删除(JAVA版)
/** * @Description 二叉排序树 * @Author lvxinchun * @Date 2020-08-06 13:37 */public class BinarySortTree { public class TreeNode { int value; TreeNode left; TreeNode right; public TreeNode(int value) { this原创 2020-08-07 16:54:44 · 126 阅读 · 0 评论