京东到家程序员删库跑路 ! 讲一讲 MySQL 数据备份杀手锏 binlog
大家好,我是飘渺~我们都知道,数据非常重要网上也经常看到一些段子,某公司程序员对工作不满,删库跑路,老板损失惨重,欲哭无泪。这不最近又爆出一例,京东到家程序员离职当天删库跑路!那么有没有什么解决方案?即使数据库真的被删了,也有备份数据,能快速恢复。甚至可以做到实时热备,即使内部炸掉外部用户也感知不到
MySQL的varchar水真的太深了,你真的会用吗?
InnoDB是干嘛的?InnoDB是一个将表中的数据存储到磁
MySql 一棵 B+ 树到底能存多少条数据呢?
mysql的InnoDB存储引擎一棵B+树可以存放多少行数据?要搞清楚这个问题,首先要从InnoDB索引数据结构、数据组织方式说起。我们都知道计算机有五大组成部分:控制器,运算器,存储器,输入设备,输出设备。其中很重要的,也跟今天这个题目有关系的是存储器。我们知道万事万物都有自己的单元体系,若干个小
MySQL 中 blob 和 text 数据类型详解
前言:前面文章我们介绍过一些常用数据类型的用法,比如int、char、varchar等。一直没详细介绍过blob及text类型,虽然这两类数据类型不太常用,但在某些场景下还是会用到的。本篇文章将主要介绍blob及text数据类型的相关知识。1.blob类型blob(binarylargeobject
图解MySQL是如何运行的
一.MySQL的一条查询语句是怎么运行的一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。假如在MySQL中有一个查询会话请求,那么大概流程如下:(1)MySQL客户端对MySQLServer的监听端口发起请求。(2)在连接者组件层创建连接、
技术干货 | 如何查看MySQL数据库一段时间内的连接情况?两种方式来解锁~
后台有DBA小伙伴问到一个问题:如何查看MySQL数据库一段时间内的连接情况呢?据小编了解,查看方式已知至少有两种方式可以实现,让我们一起往下解锁吧~方式一开启general_log就能观察到•开启命令mysql>setglobalgeneral_log=ON;•执行一些操作[root@mgr
使用雪花id或uuid作为Mysql主键,被老板怼了一顿!
前言:在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uui
MySQL + JSON = 王炸!!
关系型的结构化存储存在一定的弊端,因为它需要预先定义好所有的列以及列对应的类型。但是业务在发展过程中,或许需要扩展单个列的描述功能,这时,如果能用好JSON数据类型,那就能打通关系型和非关系型数据的存储之间的界限,为业务提供更好的架构选择。当然,很多同学在用JSO
MySQL模糊查询再也用不着 like+% 了!
我们都知道InnoDB在模糊查询数据时使用"%xx"会导致索引失效,但有时需求就是如此,类似这样的需求还有很多,例如,搜索引擎需要根基用户数据的关键字进行全文查找,电子商务网站需要根据用户的查询条件,在可能需要在商品
MySQL乱码问题如何排查
MySQL客户端和服务器是怎么通信的?1.首先请求会被MySQL客户端编码为字节序列之后通过网络传输到服务器。对于MySQL自带的客户端来说,这个编码过程使用的字符集和我们使用的操作系统的默认字符集是一样的,类Unix系统的默认字符集就是utf8,Windows系统的默认字符集就是gbk。启动MyS
int(1) 和 int(10) 有什么区别?资深开发竟然都理解错了!
困惑最近遇到个问题,有个表的要加个user_id字段,user_id字段可能很大,于是我提mysql工单altertablexxxADDuser_idint(1)。领导看到我的sql工单,于是说:这int(1)怕是不够用吧,接下来是一通解释。其
重现MySQL索引失效10个场景,都帮你把坑挖好了
前言之前在《15种SQL优化中,老司机才懂的处理技巧》这篇文章中,从15个方面分享了SQL优化的一些小技巧。今天接着上一期数据库的话题,更进一步聊聊索引的相关问题,因为索引是大家都比较关心的公共话题,确实有很多坑。不知道你在实际工作中,有没有遇到过下面的这两种情况:明明在某个字段上加了索引,但实际上
MySQL常用函数介绍
前言:MySQL数据库中提供了很丰富的函数,比如我们常用的聚合函数,日期及字符串处理函数等。SELECT语句及其条件表达式都可以使用这些函数,函数可以帮助用户更加方便的处理表中的数据,使MySQL数据库的功能更加强大。本篇文章主要为大家介绍几类常用函数的用法。1.聚合函数聚合函数是平时比较常用的一类
MySQL数据类型DECIMAL详解
前言:当我们需要存储小数,并且有精度要求,比如存储金额时,通常会考虑使用DECIMAL字段类型,可能大部分同学只是对DECIMAL类型略有了解,其中的细节还不甚清楚,本篇文章将从零开始,为你讲述DECIMAL字段类型的使用场景及方法。1.DECIMAL类型简介DECIMAL从MySQL5.1引入,列
MySQL库表设计小技巧
前言:在我们项目开发中,数据库及表的设计可以说是非常重要,我遇到过很多库表设计比较杂乱的项目,像表名、字段名命名混乱、字段类型设计混乱等等,此类数据库后续极难维护与拓展。我一直相信只有优秀的库表设计才能发挥出MySQL最大的性能,前面有篇文章也分享了数据库的使用规范,本篇文章主要讲几个库表设计的小技
超实用的索引知识介绍
前言:索引是MySQL数据库中的重要对象之一,索引的目的在于提高查询效率。可以类比字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可。索引是表的目录,在查找内容之前可以先在目录中查找索引位置,以此快速定位查询数据。需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对
一文解决MySQL时区相关问题
前言:在使用MySQL的过程中,你可能会遇到时区相关问题,比如说时间显示错误、时区不是东八区、程序取得的时间和数据库存储的时间不一致等等问题。其实,这些问题都与数据库时区设置有关,本篇文章将从数据库参数入手,逐步介绍时区相关内容。1.log_timestamps参数介绍首先说明下log_timest
一文读懂MySQL权限系统
MySQL权限系统的主要功能是证实连接到一台给定主机的用户,并且赋予该用户在数据库上的SELECT、INSERT、UPDATE和DELETE权限。附加的功能包括有匿名的用户并对于MySQL特定的功能例如LOADDATAINFILE进行授权及管理操作的能力。mysql赋权限操作:谈到mysql权限,在
MySQL 进阶系列教程:升级内存后 MySQL 优化
在这篇文章中,我们来探讨下当您向实例添加更多内存时该怎么做。在扩展资源时,向运行MySQL的服务器添加内存是常见的做法。先看一些背景扩展资源只是为您的环境添加更多资源,这可以分为两种主要方式:垂直扩展和水平扩展。垂直扩展正在增加给定实例的硬件容量,从而拥有更强大的服务
MySQL数据类型DECIMAL详解
前言:当我们需要存储小数,并且有精度要求,比如存储金额时,通常会考虑使用DECIMAL字段类型,可能大部分同学只是对DECIMAL类型略有了解,其中的细节还不甚清楚,本篇文章将从零开始,为你讲述DECIMAL字段类型的使用场景及方法。1.DECIMAL类型简介DECIMAL从MySQL5.1引入,列