MySQL主从复制通过Binlog进行数据传输,主库写入数据,生成Binlog,通过dump线程将Binlog发送给从库,从库IO线程接收Binlog并写入自己的relay log,SQL线程应用relay log里的事务。本文结合MySQL源码,分析SQL线程的主要处理过程。 MySQL源码
Copyright © 2020-2023 www.mytecdb.com All Rights Reserved.
MySQL自带了很多插件,比如半同步插件、审计插件、密码验证插件等等,甚至MySQL存储引擎也是以插件方式实现的。MySQL开放的插件接口,为开发者开发自定义插件提供了便利。本文将介绍如何快速开发一个自定义的MySQL插件。 一、开发环境准备 下载MySQL源码,本文使用的源码是 Per
Copyright © 2020-2023 www.mytecdb.com All Rights Reserved.
MySQL提供修改表名称语法如下: rename table tb to tb1; alter table tb rename to tb1; alter table tb rename as tb1; 以上三种语法都可以实现修改MySQL表名称。 注意: 修改表名称有风险,如果
JOIN查询是关系型数据库的基本功能,MySQL提供多种JOIN关联查询方式,包括内连接,左连接,右连接等等,本文将简单介绍MySQL JOIN查询的分类,基本语法和使用案例。 在MySQL中,JOIN可以分为内连接和外连接,外连接又可以分为左连接和右连接。 join内连接 join外连接
安装部署MySQL之后,就可以连接到MySQL服务器进行数据库操作了,连接MySQL的方式有很多,比如命令行工具mysql,可视化工具navicat等等,本文将简单介绍如何使用mysql命令行工具连接MySQL。 一、mysql客户端连接MySQL服务器 1、通过IP连接MySQL: 通过IP
Copyright © 2020-2023 www.mytecdb.com All Rights Reserved.
MySQL主从复制是逻辑复制,基于Binlog进行主从数据传输,MySQL提供了丰富的参数来配置主从复制过滤条件。在主库可以设置对于库的数据写入是否写入binlog,在从库可以设置对某些库或者表的binlog是否忽略。本文将简单描述MySQL主从复制过滤的相关参数和常见用法。 MySQL版本:
Percona Server for MySQL 是 MySQL的一个重要的发行版本,Percona公司在MySQL社区版本的基础上增加了许多实用的功能和改进,比如线程池、InnoDB改进、问题诊断等等,本文将简单介绍Percona MySQL在慢查询日志方面的加强。 一、社区版MySQL慢查询日
MySQL limit 子句可以实现分页查询,比如limit 100,10 取偏移100条记录之后的10条记录。limit 子句在提供便捷分页功能的同时,也带来了性能问题,当表数据量非常大,分页数非常多,查询比较靠后的页时,SQL执行性能非常差。 优化方法一,改写SQL 看一个例子,一张表,有6
参数调优是MySQL性能优化的重要方面之一,通常只需要重点关注几个主要的参数,就能显著地提高MySQL性能。根据运行的MySQL版本的不同,本文中使用的一些参数默认值可能有所不同,但是基本上还是一致的。 一、硬件相关的参数调优 根据MySQL实例运行的硬件环境,一些硬件相关的参数需要根据实际情况
申请了一个免费的云主机,1核1G,准备搭建个人博客网站,也就是你现在看到的这个网站,后台数据库使用 MySQL 8.0.17 版本,在个人网站上线一段时间后,经常遇到MySQL 进程 OOM(Out Of Memory) 被杀掉,经过排查优化,终于发现问题并顺利解决。 个人网站的软硬件配置:
业务进行 MySQL 性能压测,在压测过程中遇到 thread running 过高的告警,经过排查,cpu,io,内存,网络等监控指标并没有显著的异常,而抓取 processlist,发现大量 SQL 执行处于 opening tables 和 closing tables 状态,怀疑 table
随着数据量的增长,MySQL 单表数据越来越大,单个机器的磁盘空间不足以存储那么大的数据,此时通常会采用分库分表技术,将单表数据按某种规则分割到多个表中。分库分表可能导致的一个结果是库里同时存在很多表,少则上千,多则上百万,处理这样庞大数量的表,其开销将成为一个新的性能影响因素。 1. MyS
通过设计表结构来最小化磁盘空间占用,能够减少磁盘数据的读写,实现性能提升。较小的表通常需要更少的内存,这也意味着在查询时,表中数据能够被更快速地处理,表数据的缩减也会使得索引数据更小,索引查询更高效。 MySQL 支持不同的存储引擎和行格式,对于每一张表,都能为其设置合适的存储引擎和索引类型。应用
在linux平台安装MySQL有很多种方式,比如rpm包,deb包,yum,apt-get 等等,每一种方式都限定于特定的linux发行版本,不具备通用性。然而MySQL提供了一种linux generic方式,能够在所有linux发行版进行安装,下面将具体描述linux generic方式的MyS
MySQL是一款开源的关系型数据库,目前最新的大版本为8.0,本文将介绍CentOS 7.2环境下,源码编译安装MySQL 8.0的过程以及遇到的问题。 环境: CentOS 7.2 MySQL 8.0.18 一、下载MySQL 8.0 源码 MySQL官方社区版:https:
MySQL主从复制是使用最多的高可用架构,主库写入数据,通过主从复制同步到从库。从库只读,如果配置了读写分离和负载均衡,那么除了写入数据只能在主库进行,读流量完全可以分配到从库上,减少主库的压力。下面将详细介绍MySQL主从复制搭建的过程。 MySQL配置: 开启binlog:log_b