职场@数据库
文章平均质量分 91
小诚信驿站
公众号《小诚信驿站》,网名:小诚信驿站。
任职:TechLead、服务端架构师
工作经历:创业公司、京东、腾讯、滴滴。
业务经验:互联网保险、第三方支付、大促营销提报和效果分析、电商商业化、客服策略模型工程。
活动区域:CSDN-小诚信驿站,腾讯云-小诚信驿站,InfoQ-小诚信驿站,GitHub-小诚信驿站,公众号-小诚信驿站。想要找到我的话,小诚信驿站或者wolf_love666一般就可以找到啦。个人微信:lxc354555
展开
-
临时表、内存表、自增主键疑难杂症
文章目录一、临时表1.0、区别1.1、临时表的特性1.2、临时表的应用(临时表名重复)1.3、主备中如何使用临时表(主库上不同的线程创建同名的临时表是没关系的,但是传到备库执行是怎么处理的呢?)1.4、为什么不能用 rename 修改临时表的改名。1.5、group by的使用二、内存表2.1、如果你维护的 MySQL 系统里有内存表,怎么避免内存表突然丢数据,然后导致主备同步停止的情况。2.2、将数据保存到 InnoDB 表用来持久化三、为什么自增主键不连续3.1、自增值保存在哪儿?3.2、自增值修改机制原创 2021-04-13 19:54:56 · 411 阅读 · 1 评论 -
数据库的疑难杂症篇
文章目录一、数据库状态判断1.1、select 1 判断(主库并发阻塞无法检测--MHA(Master High Availability)的默认方案)1.2、查表判断(类似系统提供健康接口探查,无法检测事务阻塞情况)1.3、更新判断(耗时长,外部检测随机性)1.4、内部统计(性能损耗10%左右)1.5、合理方案建议二、误删数据2.1、分类2.2、误删行2.3、事前预防2.4、误删库 / 表2.5、延迟复制备库(MySQL5.6版本+核心业务方案)2.6、预防误删库 / 表的方法2.6.1、账号分离2.6.原创 2021-04-13 17:47:04 · 346 阅读 · 0 评论 -
数据库---MySQL读写分离的方案以及坑
强制走主库方案;sleep 方案;判断主备无延迟方案;配合 semi-sync 方案;等主库位点方案;等 GTID 方案。一、强制走主库方案强制走主库方案其实就是,将查询请求做分类。通常情况下,我们可以将查询请求分为这么两类:对于必须要拿到最新结果的请求,强制将其发到主库上。比如,在一个交易平台上,卖家发布商品以后,马上要返回主页面,看商品是否发布成功。那么,这个请求需要拿到最新的结果,就必须走主库。对于可以读到旧数据的请求,才将其发到从库上。在这个交易平台上,买家来逛商铺页.原创 2021-04-12 21:10:10 · 347 阅读 · 0 评论 -
MySQL主备机制原理
文章目录一、MySQL 主备的基本原理二、binlog 里面到底是什么内容,为什么备库拿过去可以直接执行?2.1、binlog的三种格式2.1.1、binlog_format=statement2.1.2、 binlog_format=‘row’2.1.3、binlog_format='mixed'2.1.4、场景要求把 MySQL 的 binlog 格式设置成 row(恢复数据)2.2、循环复制问题(生产双主架构)2.2.1、特殊场景2.3、双主架构,主从判断依据三、双主架构如何保证高可用?3.1、主备延原创 2021-04-01 21:02:04 · 1242 阅读 · 1 评论 -
从分析Count(ID)慢SQL原因到联合索引的引申扩展比较(图文真实步骤详细)
1、慢SQL报告,超过0.1s统计2、背景前提:ID,主键activity_ID和applicant联合索引。status无索引数据库引擎:InnoDBcreated:普通字段,无索引3、单纯SQL优化方向考虑几方面?4、测试数据统计比较最终结果:count(*)>count(1)>count(常量)&a原创 2019-02-27 19:43:16 · 1638 阅读 · 0 评论 -
MySQL的锁
文章目录一、全局锁(FTWRL)二、表级锁2.1、表锁( lock tables … read/write)2.2、元数据锁(MDL)2.X、面试题:给一个小表加个字段,导致整个库挂了2.X.1、库挂原因分析2.X.2、如何安全地给小表加字段?2.X.3、Online DDL的过程2.X.4、当备库用–single-transaction 做逻辑备份的时候,如果从主库的binlog 传来一个 DDL 语句会怎么样三、行级锁一、全局锁(FTWRL)顾名思义,全局锁就是对整个数据库实例加锁。MySQL 提原创 2021-03-30 20:01:07 · 152 阅读 · 0 评论 -
MySQL指南手册大纲
Mysql文件物理组成 mysql表结构设计 基础的sql语句以及函数 安全性 mac下的常用操作前言:mysql逻辑架构:mysql的逻辑架构大概分为三层:第一层: 服务层(为客户端服务)为请求做连接处理,授权认证,安全等。第二层:核心服务比如查询解析,优化,缓存,内置函数。存储过程,触发器,视图等。对于第二层来说,所以跨存储引擎的功能都在这一层实现。第三层:存储...原创 2019-02-26 20:50:46 · 880 阅读 · 0 评论 -
mysql的运维(高性能mysql第三版)
前言:1.show status 查看系统运行的实时状态,便于dba查看mysql当前运行的状态,做出相应优化,动态的,不可认为修改,只能系统自动update。2.show variables 查看系统参数,系统默认设置或者dba调整优化后的参数,静态的。可以通过set或者修改my.cnf配置文件修改。导读: 如何新建删除mysql账户? 如何授予或者取消用户的权限? 如...转载 2019-02-27 07:06:49 · 748 阅读 · 0 评论 -
MySQL性能调优(MySQL高性能第三版)
创建高性能索引 query优化 连接优化 内存使用 查询缓存优化 日志设置优化 Innodb存储引擎优化创建高性能索引在InnoDB中,表数据文件本身就是按B+Tree组织的一个索引结构,这棵树的叶节点data域保存了完整的数据记录。这个索引的key是数据表的主键,因此InnoDB表数据文件本身就是主索引。B-Tree通常意味着所有的值都是按顺序存储的,井且每一个叶子页到根的...转载 2019-02-27 08:35:21 · 1696 阅读 · 0 评论 -
MySQL连接层深度解析
mysql连接的两种方式mysql客户端可以通过两种方式链接mysql,一种为unix socket,另外一种为基于tcp/ip协议。Unix socket方式是通过使用一个Unix socket文件来实现连接的,默认位于 /tmp/mysql.sock。Unix socket方式比tcp/ip方式要快,但是不能连接远程的mysql。tcp/ip的方式可以支持远程访问数据库socket ...原创 2019-02-27 12:37:49 · 501 阅读 · 0 评论 -
数据库——MySQL读写分离后的延迟解决方案
背景:根据上图可以看到QPS:10.73k,实际上真实的并发大量数据到达的时候,我这里最高的QPS是将近15k.而目前单个数据库分片(实例)4CPU8G内存的配置下,最高的性能是7k的QPS。基于上篇我进行了分库分表是对于性能有很大的提高,分库分表实践和中间件的引申我这里讲解的例子是目前4主8从库(12个实例),以下每个实例都会称为分片。单个分片配置mysql版本5.7.19(一会说明不...原创 2019-05-22 15:00:06 · 7313 阅读 · 0 评论 -
数据库索引,索引底层的实现,B+树的结构以及与普通查找树的优点
什么是数据库索引?用一句话来描述:数据库索引就是一种加快海量数据查询的关键技术。比如字典的首页对于每个字的解释有页码标注。什么是联合索引?一些包含多个字段的数据库索引,比如INDEX idx_test(col_a, col_b)。这种包含多个字段的索引就被称为“联合索引”最左前缀匹配这就引申出了联合索引的一个规则:联合索引中的字段,只有某个字段(笔画)左边的所有字段(部首)都被使用了...原创 2019-02-18 10:40:12 · 938 阅读 · 0 评论 -
MySQL使用中的常见问题和排查思路
解决方案:https://blog.csdn.net/poice00/article/details/52129351mysql 秒杀的策略以及思考转载 2019-02-27 16:55:55 · 879 阅读 · 0 评论 -
数据库----(Mysql语句性能调优规范&如何调优步骤讲解)
开发时候可能因为项目周期或者自身能力不够只是为了实现功能,但是开发完毕对于性能调优,代码优化要求就高了,那么针对于mysql的优化建议整理如下: 1.将经常要用到的字段(比如经常要用这些字段来排序,或者用来做搜索),则最好将这些字段设为索引。 2.字段的种类尽可能用int 或者tinyint类型。另外字段尽可能用NOT NULL。 3.当然无可避免某些字段会用到text ,varchar等字符原创 2016-09-05 23:14:37 · 667 阅读 · 0 评论 -
数据库----(linux下安装mysql-5.7.19 创建数据库并且导入数据库文件 教程)
1-首先通过xshell连接数据库服务器,执行命令mysql -u root -p 命令,按照提示输入密码。连接上数据库。 2-在连接终端上执行命令create database osf;执行完成后,验证数据库是否创建成功。执行命令show databases;查看是否有osf数据库。 3-将准备好的数据库文件osf.sql文件通过xftp工具,上传至/root目录下,并等待上传完毕。 4-在原创 2017-07-26 18:12:59 · 4023 阅读 · 0 评论 -
Redis--(linux安装redis3.2.9--教程)
如果中间遇见问题可以加扣扣群300458205 下载安装包 1、第一步上传并且解压编译源码tar xzf redis-3.2.9.tar.gz -C ../server/cd redis-3.2.9/make 2、启动服务 3、启动客户端验证 远程访问服务器失败,知道下面有四种解决方案:DENIED Redis is running in protected mode原创 2017-07-28 00:21:26 · 3652 阅读 · 0 评论 -
Redis--(linux安装redis3.2.9主从复制与集群的搭建--教程)
如果中间遇见问题可以加扣扣群300458205 一、安装redis并且启动看上一篇文章 http://blog.csdn.net/wolf_love666/article/details/76223299二、配置多个Redis2-0了解下机制:redis的replication机制允许slave从master那里通过网络传输拷贝到完整的数据备份。具有以下特点: ● 异步复制,从2.8版本开始原创 2017-07-28 00:49:48 · 2518 阅读 · 0 评论 -
数据库----(linux下安装多个mysql-5.7.19(tar.gz)教程)
环境:centos 6.5 初级第一次在Linux下安装MySQL-5.7.19版本教程 请看上一篇,如果已经会安装了,那么请看这篇linux下安装多个mysql-5.7.19 如果有问题请加群扣扣群300458205 1-下载 2-跳过登陆 3-1安装多个数据库需要配置自己的my.cnf,如果只安装一个,系统没有安装过直接这个命令就可以shell> groupadd mysqls原创 2017-07-26 18:07:01 · 7028 阅读 · 2 评论 -
数据库----(linux下安装mysql-5.7.19(tar.gz)教程)
环境:centos 6.5 初级第一次在linux下安装mysql-5.7.19版本教程,如果已经会安装了,那么请看下一篇linux下安装多个mysql-5.7.19 如果有问题请加群扣扣群300458205 1-下载 2-跳过登陆 3-上传并解压到目录../usr/local/mysql-5.7.19-3307tar -zxvf mysql-5.7.19-linux-glibc2原创 2017-07-26 17:43:51 · 18645 阅读 · 5 评论 -
数据库——MySQL分库分表的演进和实践以及中间件的比较
1、了解几个问题?0、什么是分库分表把原本存储于一个库的数据分块存储到多个库上,把原本存储于一个表的数据分块存储到多个表上。1、MySQL为什么分库分表当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,可能会死在那儿。分表的目的就在于此,减小数据库的负担,缩短查询时间。目前我们系统将近20亿数据每张表最大的接近519w条/表,每条数据大约3k,1131M将近...原创 2018-09-20 17:11:39 · 9136 阅读 · 5 评论 -
数据库——(MySQL语言定义:什么是DDL,DML和DQL,DCL,DTL?)
DDL (Data Definition Language) refers to the CREATE, ALTER and DROP statementsDDL allows to add / modify / delete the logical structures which contain the data or which allow users to access / mainta...原创 2018-09-27 12:41:02 · 3193 阅读 · 0 评论 -
数据库——mysql性能负载生产环境监控指标(详细图示例)
性能负载7维度读写、cpu、线程、tcp、cpu负载、网络、磁盘以下mysql监控指标针对的版本号为:5.6.26--------1、mysql读写操作QPS:Query Per Second,每秒请求(查询)次数。这个参数非常重要,可以直观的反映系统的性能,这就像IOPS衡量磁盘每秒钟能接收多少次请求。我们可以在MySQL命令行模式下执行 status 命令,返回的最后一行输出信息中...原创 2019-02-02 11:51:10 · 2298 阅读 · 1 评论 -
InnoDB存储引擎概念与原理解析
InnoDB介绍 InnoDB和ACID模型 InnoDB多版本 InnoDB架构 InnoDB锁和事务模型 InnoDB配置InnoDB的整体架构InnoDB兼具高可靠性和高性能。 在MySQL 5.6中,InnoDB是默认的官方推荐的存储引擎。InnoDB的整体架构图:(请忽略图中的XTraDB)InnoDB多线程模型:多线程InnoDB表的最佳实践Inno...原创 2019-02-27 16:36:47 · 1205 阅读 · 0 评论 -
数据库----(MySQL基本常见sql)
删除唯一索引: alter table T_PARTY_REG drop index UK_T_PARTY_REG_REG_CODE; 新建索引: create index IX_T_PARTY_REG_REG_CODE on DBUSER.T_PARTY_REG ( REG_CODE ); 修改列属性定义: alter table T_PARTY_REG modify LOG原创 2016-09-18 12:10:32 · 346 阅读 · 0 评论