MySQL中的执行计划EXPLAIN
什么是MySQL执行计划要对执行计划有个比较好的理解,需要先对MySQL的基础结构及查询基本原理有简单的了解。MySQL本身的功能架构分为三个部分,分别是应用层、逻辑层、物理层,不只是MySQL,其他大多数数据库
MySQL 基础:如何启用 MySQL/MariaDB 查询日志
在这个简短易懂的指南中,我们介绍了如何启用MySQL/MariaDB查询日志并将查询保存到文件中。使用数据库时,开发人员经常想知道幕后发生的事情。无论是用于故障排除、性能调整还是纯粹出于好奇。通用查询日志仍然是MySQL/MariaDB数据库中最流行的审计和诊断信息来
那天删库跑路后,在牢里写的MySQL数据恢复大-法……
日常工作中,总会有因手抖、写错条件、写错表名、错连生产库造成的误删库表和数据的事情发生。那么,如果连数据都恢复不了,还要什么DBA。一、前言数据恢复的前提的做好备份,且开启binlog,格式为row。如果没有备份文件,那么删掉库表后就真的删掉了,lsof中还有记录的话,有可能恢复一部分文件。但若刚好
超级全面的MySQL优化指南
当MySQL单表记录数过大时,增删改查性能都会急剧下降,所以我们本文会提供一些优化参考,大家可以参考以下步骤来优化:一、单表优化除非
什么是 MySQL 的“回表”?
小伙伴们在面试的时候,有一个特别常见的问题,那就是数据库的回表。什么是回表?为什么需要回表?今天松哥就来和大家聊一聊这个话题。1.索引结构要搞明白这个问题,需要大家首先明白MySQL中索引存储的
看完这篇还不懂 MySQL 主从复制,可以回家躺平了~
我们在平时工作中,使用最多的数据库就是MySQL了,随着业务的增加,如果单单靠一台服务器的话,负载过重,就容易造成宕机。这样我们保存在MySQL数据库的数据就会丢失,那么该怎么解决呢?其实在MySQL本身就自带有一个主从复制的功能,可以帮助我们实现负载均衡和读写分离。对于主服务器(
关于主从延迟,一篇文章给你讲明白了!
生活中所受的苦,终会以一种形式回归!前言在实际的生产环境中,由单台MySQL作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面因此,一般来说都是通过集群主从复制(Master-Slave)的方式来同步数据,再通过读写分离(MySQL-Proxy)来提升数据库的并发
MySQL连接数管理
前言:MySQL连接状态是数据库中比较重要的一个指标,比如说目前总共有多少个连接、各连接处于什么状态等等,这些连接状态也能从侧面反映出数据库当前运行状况。本篇文章我们一起来学习下MySQL连接相关内容。1.connection相关参数先来看下connection相关参数,只有参数设置合理了,数据库才
给新手学习MySQL的建议
前言:经常有小伙伴问我:MySQL应该怎么学?小白如何入门?我在想,我当时是如何学习MySQL的,是否可以给到初学者几点建议,本篇文章,笔者将以自己的经验及认知,谈谈我对新手学习MySQL的建议。搭建好环境,弄清基础概念。学习MySQL,首先要有个自己的环境,可以在自己本机或某台虚拟机上安装下MyS
MySQL安全加固方法分享
前言:数据库作为数据存储的载体,在程序开发中承担着至关重要的作用。近些年,随着各种安全事故的发生,数据安全性逐渐得到重视。等保评测或各类系统安全评测中也都有增加数据库安全相关要求,本篇文章将以MySQL为例,分享几点数据库安全加固方法。1.数据安全重要性数据安全性是指保护数据免受未经许可而故意或偶然
MySQL连接控制插件介绍
前言:当连接数据库失败次数过多时,MySQL是否会限制登录呢?数据库服务端应该怎么应对暴力破解呢?本篇文章介绍下MySQL中的连接控制插件,一起来学习下此插件的作用。1.连接控制(connection_control)插件介绍MySQL服务端包含一个插件库,可以自定义安装各类插件。connectio
mydumper备份工具介绍与使用
前言:前面文章有介绍过MySQL系统自带的mysqldump备份工具的使用,其实还有一个开源工具mydumper同样适用于MySQL的逻辑备份。之前一直没有正式体验过,只是听说比mysqldump要快很多,具体使用效果如何,一起来看下吧。1.mydumper简介mydumper是一款社区开源的逻辑备
使用myloader恢复数据教程
前言:上篇文章介绍了mydumper备份工具的使用方法,文中有提到mydumper和myloader是一对相互的命令,即mydumper负责备份(导出),myloader负责恢复(导入)。那么myloader又该如何使用呢?本篇文章我们一起来看下。1.myloader介绍myloader是与mydu
MySQL中如何选择合适的备份策略和备份工具
数据库备份的重要性毋庸置疑,可以说,它是数据安全的最后一道防线。鉴于此,对于备份,我们通常会做以下要求:多地部署对于核心数据库,我们通常有两地三中心的部署要求。对于备份来说,也是如此。一个备份应该有多个副本,每个副本存储在不同区域。多介质部署一个备份的多个副本应存储在不同介质上,如磁盘和磁带,防止单
MySQL打印死锁日志
前言:在MySQL运维过程中,难免会遇到MySQL死锁的情况,一旦线上业务日渐复杂,各种业务操作之间往往会产生锁冲突,有些会导致死锁异常。这种死锁异常一般要在特定时间特定数据和特定业务操作才会复现,有时候处理起来毫无头绪,一般只能从死锁日志下手。本篇文章我们一起来看下MySQL的死锁日志。1.手动打
面试题:在日常工作中怎么做MySQL优化的?
前言面试题来自:社招一年半面经分享(含阿里美团头条京东滴滴)MySQL常见的优化手段分为下面几个方面:SQL优化、设计优化,硬件优化等,其中每个大的方向中又包含多个小的优化点下面我们具体来看看文章首发在公众号(月伴飞鱼),之后同步到个人网站:xiaoflyfish.cn/觉得有收获,希望帮忙点赞,转
MySQL设置数据库为只读
前言:默认情况下,我们的MySQL实例是可读写的。但有些情况下,我们可以将整个实例设置为只读状态,比如做迁移维护的时候或者将从库设为只读。本篇文章我们来看下MySQL设置只读相关知识。1.关于read_only参数MySQL系统中,提供有read_only和super_read_only两个只读参数
MySQL 优化 index merge(索引合并)引起的死锁分析(强烈推荐)
背景生产环境出现死锁流水,通过查看死锁日志,看到造成死锁的是两条一样的update语句(只有where条件中的值不
MySQL 高频 100 问
本文主要受众为开发人员,所以不涉及到MySQL的服务部署等操作,且内容较多,大家准备好耐心和瓜子矿泉水.前一阵系统的学习了一下MySQL,也有一些实际操作经验,偶然看到一篇和MySQL相关的面试文章,发现其中的一些问题自己
MySQL索引连环18问!
今天给大家带来了MySQL索引的常考面试题,看看你能答对多少~目录1.索引是什么?索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查