MySQL
MySQL
苦艾酒丶
好好学习,天天向上。
毕竟,是一个立志成为大神的人啊。
展开
-
Mysql的两阶段提交的过程和关于redolog binlog疑问解答
MySQL 里有两个日志,即:重做日志(redo log)和归档日志(binlog)。其中,binlog 可以给备库使用,也可以保存起来用于恢复数据库历史数据。它是实现在 server 层的,所有引擎可以共用。redo log 是 InnoDB 特有的日志,用来支持 crash-safe 能力。有了 redo log , InnoDB 就可以保证即使数据库发生异常重启,之前提交的记录都不会丢失,这个能力称为 crash-safe 。你一定听过 MySQL 事务的两阶段提交,指的就是在事务提交的时候,分原创 2020-11-11 16:50:26 · 876 阅读 · 0 评论 -
InnoDB的磁盘文件及落盘机制
任何一个技术都有其底层的关键基础技术,这些关键技术很有可能也是其他技术的关键技术,学习这些底层技术,就可以一通百通,让你很快的掌握其他技术。如何在磁盘上存储数据,如何使用日志文件保证数据不丢失以及如何落盘,不仅是MySQL等数据库的关键技术,也是MQ消息队列或者其他中间件的关键技术之一。 上图详细显示了InnoDB存储引擎的体系架构,从图中可见,InnoDB存储引擎由内存池,后台线程和磁盘文件三大部分组成。接下来我们就来简单了解一下磁盘文件相关的概念和原理。InnoDB的主要的磁盘文件主要分为三大块:原创 2020-11-09 15:13:14 · 304 阅读 · 1 评论 -
InnoDB的内存结构和特性
MySQL区别于其他数据库的最为重要的特点就是其插件式的表存储引擎。而在众多存储引擎中,InnoDB是最为常用的存储引擎。从MySQL5.5.8版本开始,InnoDB存储引擎是默认的存储引擎。InnoDB存储引擎支持事务,其设计目标主要面向在线事务处理(OLTP)的应用。其特点是行锁设计、支持外键,并支持非锁定读,即默认读操作不会产生锁。InnoDB通过使用多版本并发控制(MVCC)来获取高并发性,并且实现了SQL标准的4中隔离级别,默认为REPEATABLE级别。同时,使用一种被称为next-key-原创 2020-11-09 14:45:27 · 224 阅读 · 0 评论 -
SQL语句执行过程详解
当希望MySQL能够以更高的性能运行查询时,最好的办法就是弄清楚MySQL是如何优化和执行查询的。一旦理解了这一点,很多查询优化工作实际上就是遵循一些原则能够按照预想的合理的方式运行 如下图所示,当向MySQL发送一个请求的时候,MySQL到底做了什么:1.客户端发送一条查询给服务器。2.服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段。3.服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划。4.MySQL根据优化器生成的执行计划,再调用存储引擎的原创 2020-11-09 11:02:43 · 1566 阅读 · 0 评论 -
Mysql innDB体系架构图和merge执行流程
、merge 的执行流程是这样的:1. 从磁盘读入数据页到内存(老版本的数据页);2. 从 change buffer 里找出这个数据页的 change buffer 记录 ( 可能有多个),依次应用,得到新版数据页;3. 写 redo log 。这个 redo log 包含了数据的变更和 change buffer 的变更。到这里 merge 过程就结束了。这时候,数据页和内存中 change buffer 对应的磁盘位置都还没有修改,属于脏页,之后各自刷回自己的物理数据,就是另外一个过原创 2020-11-05 18:24:10 · 264 阅读 · 1 评论 -
Mysql的各种锁机制
不少人在开发的时候,应该很少会注意到这些锁的问题,也很少会给程序加锁(除了库存这些对数量准确性要求极高的情况下),即使我们不会这些锁知识,我们的程序在一般情况下还是可以跑得好好的。因为数据库隐式帮我们加了这些锁了,只有在某些特定的场景下我们才需要手动加锁。对于UPDATE、DELETE、INSERT语句,InnoDB会自动给涉及数据集加排他锁(X) 。而MyISAM在执行查询语句SELECT前,会自动给涉及的所有表加读锁,在执行增、删、改操作前,会自动给涉及的表加写锁,这个过程并不需要我们去手动操作。那原创 2020-08-04 15:58:51 · 341 阅读 · 0 评论 -
Mysql语句性能优化
对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默 认值。应尽量避免在 where 子句中使用!=或<>操作符, MySQL只有对以下操作符才使用索引:<,&...原创 2020-04-24 13:50:47 · 123 阅读 · 0 评论 -
Mysql开启慢查询日志和分析
1.查看是否开启MySQL日志show variables like 'slow_query%';slow_query_log 慢查询开启状态slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录)2.临时开启慢查询日志set global slow_query_log = on; 临时设置慢...转载 2019-12-29 11:38:48 · 109 阅读 · 0 评论 -
Mycat数据库中间件实现MySQL读写分离
这里是在mysql主从复制实现的基础上利用mycat做读写分离可以先看看 mysql主从复制Mycat安装和配置#yum安装java环境(mycat要求java环境在1.7以上)yum install java-1.8.0-openjdk.x86_64 切换到 /usr/local文件夹并下载mycatcd /usr/localwget http://dl.mycat.io/...原创 2019-12-25 23:04:25 · 209 阅读 · 0 评论 -
MySQL 主从复制的配置
1.需要注意的是两台linux的时间相同,MySQL版本相等2.配置实施(主服务器master)修改mysql配置找到主数据库的配置文件my.cnf(或者my.ini),在[mysqld]部分插入如下两行log-bin=mysql-bin //开启二进制日志server-id=124 //设置server-id(一般设置为主机ip的后三位)保存,并重启mysqlservice my...原创 2019-12-24 23:22:28 · 142 阅读 · 0 评论 -
yum安装mysql5.6
1.安装rpm包rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm2.查看mysql可用版本yum repolist enabled | grep "mysql.*-community.*"3.安装mysqlyum -y install mysql-communit...转载 2019-12-08 19:45:53 · 569 阅读 · 0 评论 -
Explain详解
在执行SQL的时候,经常有些SQL未正确使用到索引,导致程序变慢,通过使用explain进行分析SQL,可以清楚表的读取顺序、索引的使用情况等,从而优化索引。在用explain执行SQL计划分析时,有以下信息显示:1、idid相同,执行顺序由上至下;id不同,如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行。id为NULL最后执行2、select_type...转载 2019-07-12 14:54:53 · 172 阅读 · 0 评论 -
mysql优化
例子数据库用户模块需要的信息用户姓名,用户登录名,密码,手机号,证件类型,证件号码,性别,邮箱,邮编,省市区,详细地址,积分,注册时间,生日,用户状态,用户级别,用户余额商品模块所需要的信息成本,商品名称,国条码,分类,品牌名称,供应商,销售价格,重量,长度,宽度,高度,图片信息,描述,生产时间,有效期,颜色,上下架状态订单模块所需要的信息下单用户,收货人,支付方式,支付金额,优惠...原创 2018-10-16 17:12:15 · 206 阅读 · 0 评论 -
Mysql规范
数据库命名规范所有数据库对象名称必须使用小写并用下划线进行分割所有数据库对象名称禁止使用mysql保留关键字http://dev.mysql.com/doc/refman/5.7/en/keywords.html数据库对象名称命名要能做到见名识义,并且最好不要超过32个字符所有的临时库表必须以tmp_为前缀并以日期为后缀 备份库备份表必须以bak_为前缀并以日期为后缀所有存储相同数据的...原创 2018-10-16 17:09:07 · 147 阅读 · 0 评论 -
Windows下sqlmap的安装图解
由于SQLMap是利用Python语言写的,所以需要将Python这个语言环境给安装上,以下是详细安装过程:准备工作:(1) Windows7/8/10操作系统;(2) Python2.7.11;(3) SQLMapStep1. Python2.7.11下载:下载地址:https://www.python.org/downloads/Step2. Pyth...转载 2018-06-27 11:22:51 · 2223 阅读 · 0 评论