随笔分类 - MySQL
摘要:前面给大家介绍过:MySQL 高可用方案选型解析,今天我将详细的为大家介绍Centos 7.5 基于 MySQL 5.7的 InnoDB Cluster 多节点高可用集群环境部署的相关知识,希望大家能够从中收获多多!如有帮助,请点在看、转发支持一波!!! MySQL InnoDB Cluster 介
阅读全文
摘要:WHY? IN 和 NOT IN 是比较常用的关键字,为什么要尽量避免呢? 1、效率低 项目中遇到这么个情况: t1表 和 t2表 都是150w条数据,600M的样子,都不算大。 但是这样一句查询 ↓ select * from t1 where phone not in (select phone
阅读全文
摘要:'%腾讯%',由于左边也是百分号,所以根据匹配最左原则,走不到索引。这时就看有没有辅助条件了,发现还有个create_at字段,可以建立联合索引进行查询,发现会走索引。如果也没有联合索引可以使用,可以用覆盖索引,后者ES之类的。 转自 数据库优化之:like %xxx%该如何优化 #编程 #mysq
阅读全文
摘要:GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。 作者: 叶金荣 文章来源:GreatSQL社区原创 如何快速临时禁止某账户登入 角色ROLES管理需要先激活 关于授权的其他几点补充 如何复制/复用账户
阅读全文
摘要:通常在MySQL的日常运维中,会突然发现cpu使用彪高,如何快速找到罪魁祸首呢?通常我们只需要执行show processlist 进行查看,一般执行时间最长的SQL八九不离十就是罪魁祸首,但当show processlist的输出有近千条,那么很难第一眼就发现有问题的SQL,那么如何快速找到呢?其
阅读全文
摘要:接着之前总结的:索引概述入门,今天全面讲述一下索引相关知识点 1.数据库索引是什么?有什么优缺点? 索引是一种能提高数据库查询效率的有序的数据结构。它可以比作一本字典的目录,可以帮你快速找到对应的记录。索引一般存储在磁盘的文件中,它是占用物理空间的。其优缺点如下: 优点: 加快数据查询速度,这也是解
阅读全文
摘要:发生场景 在查询学生表的时候,需要支持根据创建时间来筛选出某段时间内入学的学生总数,因此在创建时间上加了索引,但是最终发现还是会走全量查询。 实验过程 1 2 3 4 5 6 7 CREATE TABLE `t_user` ( `id` bigint(11) unsigned NOT NULL CO
阅读全文
摘要:简介 在MySQL主从复制中,当主库执行删除操作时,从库并不会同步删除对应的数据。这是由于MySQL的复制机制决定的。为了解决这个问题,我们可以通过在主库上创建触发器来实现删除操作的同步。 解决方案概览 下面是解决方案的整体流程图: 创建触发器 首先,我们需要在主库上创建一个触发器,该触发器会在删除
阅读全文
摘要:一、在线开启gtid步骤步骤1到步骤5在每个mysql节点都执行,不可以单独某个库独立做完所有步骤再去操作其他节点;尤其注意不能先将主库打开gtid,从库任何参数不设置,这样将导致同步中断。 1、检查数据库中是否有不支持gtid的操作设置ENFORCE_GTID_CONSISTENCY = WARN
阅读全文
摘要:数据量很大的话,常规切换数据库会把里面所有的表遍历一遍,会很慢甚至是卡死。 解决方法:登录的时候直接在最后面加一个 -A 就行了。 [root@localhost ~]# "/usr/local/mysql-8.0.11/bin/mysql" -uroot -p123456 -A 实战演示:我演示的
阅读全文
摘要:使用mysqldump导出数据的时候收到选项 set-gtid-purged=AUTO的影响和非GTID下导出不同。如果在GTID开启情况下使用如下语句导出数据: mysqldump --single-transaction --master-data=2 -R -E --triggers --al
阅读全文
摘要:一、GTID的概述: 1、全局事物标识:global transaction identifieds。 2、GTID事物是全局唯一性的,且一个事务对应一个GTID。 3、一个GTID在一个服务器上只执行一次,避免重复执行导致数据混乱或者主从不一致。 4、GTID用来代替classic的复制方法,不在
阅读全文
摘要:MySQL 的 commit命令提交事务时,内部会进行两阶段(Prepare 和 Commit)提交,这篇文章基于 MySQL 8.0.33 对 MySQL 的两阶段提交进行源码分析,带你了解提交事务过程中都经历了什么。 以下是整体逻辑: 一、Prepare 阶段 1. Binlog Prepare
阅读全文
摘要:在前面,我们讲了,通过创建一个临时从库,再把数据同步到误操作的前一个事务,来恢复误删除的数据,可以点击跳转。 但是临时准备一套从库,会多花费很多时间,那有没有更快的办法呢? 这一篇文章,就讲一下通过延迟从库,来恢复误删除的数据。 比如平时这个从库都是延迟主库1小时,当主库出现误操作,从库直接同步到误
阅读全文
摘要:MySQL主从复制报错,MySQL主主复制结构,MySQL版本5.7.32 2023-08-31T09:08:29.316553+08:00 1 [ERROR] Error reading packet from server for channel '': Client requested mas
阅读全文
摘要:mysqld进程占用内存过高怎么排查 遇到一个比较极端的案例,innodb_buffer_pool_size 值仅设置为2GB,但是mysqld进程却占用了25GB的内存。 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 45305 mys
阅读全文
摘要:在生产环境中有时候需要修改复制用户账户的密码,比如密码遗失,或者由于多个不同的复制用户想统一为单独一个复制账户。对于这些操作应尽可能慎重以避免操作不同导致主从不一致而需要进行修复。本文描述了修改复制账户密码以及变更复制账户。 1、更改复制账户密码 --演示环境,同一主机上的2个实例,主3406,从3
阅读全文
摘要:infobin 参考github:https://github.com/gaopengcarl/infobin使用前自己随便写了一些数据,有大事务,长事务等。 1、安装[root@root ~]# git clone https://github.com/gaopengcarl/infobin 2、
阅读全文