SEATA的AT模式和XA模式一样,也是2阶段提交,但是AT模式没有利用数据库的XA协议,如下所示: 从上面的图可以看到,seata AT 模式分为以下5个步骤: ①、TM(事务管理器) 开启全局事务; ②、RM 向 TC(事务协调者) 注册分支事务; ③、RM(资源管理器,也就是要访问数据库的进程 ...
前言 MyBatis-Plus是MyBatis的增强工具,在MyBatis基础上只做增强不做改变,简化CRUD操作。本文总结10个实用技巧,帮你快速掌握MP的核心用法。 技巧1:快速入门 // 依赖 <dependency> <groupId>com.baomidou</groupId> <arti ...
一、传统分布式XA事务的2PC 2PC 即两阶段提交协议,是将整个事务流程分为两个阶段,准备阶段(Prepare phase)、提交阶段(commit phase),2 是指两个阶段,P 是指准备阶段,C 是指提交阶段。常见的关系型数据库如 Oracle、MySQL 都支持两阶段提交协议,如下图: ...
一、事务的实现 1.1、事务的执行流程 根据上图,事务的执行流程如下: ①查询操作先从Buffer Pool中查询数据,若存在则直接输出,不存在则读取磁盘中的数据并放入Buffer Pool; ②在操作任何数据之前,会先将数据的旧值写入undo log日志文件中,以便执行事务过程中出现异常后好回滚到 ...
SQL优化一般步骤 慢日志定位 通过慢查日志等定位那些执行效率较低的SQL语句 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的 ...
前言 MySQL索引是数据库性能优化的核心,掌握索引原理和优化技巧是后端开发的必备技能。本文从原理到实战,带你全面掌握MySQL索引优化。 一、索引是什么? 索引类似书的目录,帮助MySQL快速定位数据,避免全表扫描。 索引类型: 主键索引:数据行的物理存储顺序 唯一索引:允许NULL,不允许重复值 ...
之前总结过一篇文章MySQL组复制的通信栈Communication Stack, 下面介绍如果修改MySQL MGR通信栈类型. MGR通信栈修改为XCOM 查看当前MySQL MGR/InnoDB Cluster的通信栈类型/通信栈协议 mysql> SELECT MEMBER_HOST -> ...
1.Redis数据库服务架构搭建 1)redis高可用架构搭建(哨兵模式架构) 架构功能作用: -- 在主节点故障后,自动选择从节点变为新的主节点 -- 在主节点故障后,可以实现主从架构重新构建 架构部署规划 主库 10.0.0.51 从库 10.0.0.52 从库 10.0.0.53 哨兵节点01 ...
数据库服务读写分离架构 准备工作 读写分离架构作用:主要可以实现将大量读请求,实现负载均衡,从而减少单点数据库并发访问压力 读写分离架构软件:ProxySQL 数据中间件(客户端 -- 中间件软件 -- 数据库服务端) 读写分离架构搭建: 架构环境规划 主库 10.0.0.51 从库 10.0.0. ...
搭建数据库服务高可用架构 为了实现数据服务主库异常后,可以将从库自动切换为主库 1.搭建高可用主从架构 架构环境规划 -- centos 7.9 主库 10.0.0.51 8.0.36 MHA-node 从库 10.0.0.52 8.0.36 MHA-node 从库 10.0.0.53 8.0.36 ...
数据库主从同步架构 (1)常见主从同步异常情况 IO线程异常 -- IO线程状态显示为:connecting 异常问题原因01: 连接主库配置错误,主库网络或用户信息匹配从库配置信息 异常问题原因02: 主从之间网络通讯被阻止 异常问题原因03: 主从之间连接没有空闲连接数,可以实现主从建立连接了 ...
有人询问MySQL InnoDB Cluster中,group_replication_local_address参数设置的端口跟MySQL监听端口一致, 这样会冲突吗? 为什么他将节点加入InnoDB Cluster报错? 简单展示如下: mysql> show variables like 'p ...
1.数据库服务备份恢复操作 物理备份数据方式 # 拷贝数据库数据目录信息,实现物理备份(冷备) 步骤一:停止数据库服务 /etc/init.d/mysqld stop 步骤二:将数据库目录进行拷贝/压缩 cp -a /data/3306/data /backup/data-2026-03-05 步骤 ...
案例,一个MySQL InnoDB Cluster集群中两个节点处于MISSING状态. 接手后通过沟通发现出现这么一个状态的大概原因:InnoDB Cluster集群中三个节点被人同时重启, 后续反复重启折腾,而且出现问题后没有解决.而是将第一个节点作为引导节点,当前的具体状态如下所示:(集群节点 ...
01-数据库服务日志管理 二进制日志管理 1.二进制日志格式设置 查看数据库二进制日志事务信息,对于DML语句相关事务操作内容无法查看? 若出现以上查看日志信息问题,需要对数据库二进制日志格式做修改 binlog_format -- 影响数据库二进制日志记录DML语句信息形式 statement(S ...
数据库事务机制功能介绍 1.事务功能作用 功能作用:事务功能主要是保证数据库中数据的安全性 事务机制:ACID 详细ACID参考链接:https://dev.mysql.com/doc/refman/8.4/en/mysql-acid.html A: atomicity(原子性) 在一个事务中,做的 ...
①.数据库服务存储引擎介绍 存储引擎官方网站资料:https://dev.mysql.com/doc/refman/8.4/en/innodb-storage-engine.html 1.什么是存储引擎/存储引擎有什么作用 利用存储引擎可以有效管理磁盘和内存硬件,实现数据库服务数据调取和数据存储 1 ...
数据库服务基础应用操作 数据库语句应用实践 1)DCL和数据库安全有关的操作 grant/revoke # 和授权有关操作 create use/alter user/drop user # 和用户相关操作 commit 可以确保DML语句操作后,产生的数据信息合理存储到磁盘中 rollback 可 ...
在 Linux(以 CentOS 7/Stream 8/9 为例)上源码编译安装 MySQL 8.0是一个相对复杂的过程,因为它需要大量的依赖库、较高的内存(建议 4GB 以上,否则编译可能失败)以及较新的 CMake 版本。 以下是基于最新环境整理的MySQL 8.0 源码编译安装完整实战指南。 ...
1.数据库服务基础管理操作 1)数据库服务连接管理 MySQL数据库服务应用架构:C/S 利用C/S架构管理数据库服务端时会有两种方式: 1.采用本地方式连接管理 mysql -uxxx -pxxx -S 套接字文件(/tmp/mysql.sock--数据库服务端启动时自动生成 关闭后自动删除) 2 ...