MySQL分布式悲观锁原理:条件FOR UPDATE 仅适用于InnoDB存储引擎,且必须在事务区块(BEGIN/COMMIT)中才能生效。mysql默认情况下每个sql都是单独的一个事务,并且是自动提交事务。测试之前需要设置成非自动提交事务,不然无法模拟并发访问:mysql> select @@autocommit;
+--------------
......
380
0
0
2022-11-14
1.主从复制原理(1)master服务器将数据的改变记录二进制binlog日志,当master上的数据发生改变时,则将其改变写入二进制日志中;(2)slave服务器会在一定时间间隔内对master二进制日志进行探测其是否发生改变,如果发生改变,则开始一个I/OThread请求master二进制事件(3)同时主节点为每个I/O线程启动一个dump线程,用于向其
......
467
0
0
2022-11-14
事务的提交1. 概述要了解事务的提交过程,首先需要对mysql的基本逻辑结构以及一条sql语句的执行过程先有个大概;1.1 mysql 逻辑结构1.2 更新语句的执行过程以简单的更新语句可以知道大概的执行流程如下:从上面我们就可以得出,一个事务是需要以下几个过程的:服务层:连接器:客户端连接服务器,鉴权等等分析器:语法分析优化器:选择索引最后 执行器 操作
......
416
0
0
2022-11-12
为什么需要事务隔离级别数据库不会只服务于一个服务端,肯定会出现多个请求同时落到数据库上,即使是同一个客户端也会并发执行多个事务。并发操作MySQL的同一批数据的时候就有可能出现数据安全问题,主要有脏写、脏读、不可重复读、幻读这些问题。本质上这些问题就是多事务并发的问题,那事务隔离就是为了解决这些问题儿设计的。认识多事务并发问题更新丢失(Lost Update
......
376
0
0
2022-11-12
SHOW STATUS LIKE '%qcache_hits%';
SHOW VARIABLES LIKE 'have_query_cache';
SHOW STATUS LIKE '%qcache_cache%';
SHOW STATUS LIKE '%qcache%';
在MySQL服务器高负载的情况下,必须采取一种措施给服务器减轻压力,减少服务
......
365
0
0
2022-11-10
介绍Uber 的早期架构是由 Python 编写一个单体后端应用程序,使用 Postgres 作为数据持久化。后来 Uber 架构经历一系列显著改变,朝着微服务架构和新的数据平台发展。具体而言,在许多以前使用的 Postgres 的场景,现在更多的使用构建在 MySQL 之上的 schemaless 存储系统(小编:Uber的数据中间件)。在本文中,将探讨一
......
352
0
0
2022-11-10
作者 | JiekeXu来源 | JiekeXu DBA之路(ID: JiekeXu_IT)大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 Linux 7.7 源码安装 MySQL 8.0.26 ,欢迎点击上方蓝字关注我,标星或置顶,更多干货第一时间到达!MySQL8.0 推出也已经好几年了,之前安装过 MySQL 5.7,在安装上
......
431
0
0
2022-11-09
DBeaver提供了数据库数据导出导入功能,在相应数据库上点击右键,在弹出菜单中指向“工具”,可以看到“转储数据库”和“恢复数据库”两个功能,分别对应数据库备份和数据库恢复,如下图所示:对于MySQL数据库而言,“转储数据库”和“恢复数据库”这两个功能实际是借用mysqldump和mysql这两个命令行工具实现的,但是如果你只装了DBeaver而没有安装My
......
703
0
0
2022-11-07
简介mysql的二进制日志binlog可以说是mysql最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select、show等),以事件形式记录,还包含语句所执行的消耗时间,mysql的二进制日志是事务安全型的。binlog的主要母的是复制和恢复使用场景MySQL主从复制:MySQL Replication在Master端开启binlog,
......
475
0
0
2022-10-14
前言本篇文章基于WIN10系统下载与安装MySQL 8.0版本,如果需要在Linux系统下安装MySQL,详见文章:t.csdn.cn/deXbm一、下载MySQLMySQL官网:www.mysql.com/cn/MySQL 8.0下载地址:dev.mysql.com/downloads/mysql/可以看到MySQL最新版本为8.0.29,下面提供了压缩版
......
387
0
0
2022-10-13
前言本篇文章基于Linux 环境下载与安装MySQL 8.0,像基于win 10系统下载离线版的方式一样安装(安装简单),如果没有远程服务器,可以在电脑上安装虚拟机使用创建虚拟机教程详见:t.csdn.cn/IFAJN基于Win 10系统下载与安装MySQL 8.0教程详见:t.csdn.cn/WyDAv连接虚拟机工具安装教程详见:t.csdn.cn/XVy
......
410
0
0
2022-10-13
上一篇 《MySQL性能优化-实践篇1》我们讲了数据库表设计的一些原则,Explain工具的介绍、SQL语句优化索引的最佳实践,本篇继续来聊聊 MySQL 如何选择合适的索引。MySQL Trace 工具MySQL 最终是否选择走索引或者一张表涉及多个索引,最终是如何选择索引,可以使用 trace 工具来一查究竟,开启 trace工具会影响 MySQL 性能
......
430
0
0
2022-10-05
前两篇说完了索引底层数据结构、性能优化原理的基本概念。本篇将讲讲具体实践。分两篇来讲,这是实践的第一篇。对于一个以数据为中心的应用,数据库的好坏直接影响到程序的性能,因此数据库性能至关重要。一般来说,要保证数据库的效率,要做好以下四个方面的工作:数据库表设计SQL语句优化数据库参数配置恰当的硬件资源和操作系统此外,使用适当的存储过程,也能提升性能。这个顺序也
......
422
0
0
2022-10-05
前言在 MySQL 官方提到,改善操作性能的最佳方法 SELECT 在查询中测试的一个或多个列上创建索引。索引条目的作用类似于指向表行的指针,从而使查询可以快速确定哪些行与WHERE子句中的条件匹配,并检索这些行的其他列值。所有MySQL数据类型都可以建立索引。尽管可能会为查询中使用的每个可能的列创建索引,但不必要的索
......
385
0
0
2022-10-05
前言性能优化(Optimize)指的是在保证系统正确性的前提下,能够更快速响应请求的一种手段。而且有些性能问题,比如慢查询等,如果积累到一定的程度或者是遇到急速上升的并发请求之后,会导致严重的后果,轻则造成服务繁忙,重则导致应用不可用。它对我们来说就像一颗即将被引爆的定时炸弹一样,时刻威胁着我们。因此在上线项目之前需要严格的把关,以确保 MySQL 能够以最
......
412
0
0
2022-10-05