更新语句和查询语句一样都会走和查询一样的流程即 连接器–>分析器–>优化器–>执行器 1 如果对一个表进行更新 这个表的缓存会失效这也是不建议用查询缓存的原因 2 分析器会通过语法解析知道是条更新语句 3 优化器决定要使用ID这个索引 4 执行器负责执行找到 数据进行更新操作 与查询语句不同的是更新流程涉及到两个重要的日志模块redo log 和 binlog 总结如下 1 redolog : InnoDB 特有 将记录写到redolog 中 并更新内存,这个时候更新就算完成了 同时 innoDB…

2021年3月26日 0条评论 5点热度 阅读全文

拉取镜像 搞个服务器,装好docker 输入 docker pull mysql:5.7.29 拉取mysql官方镜像,本文以mysql5.7.29版本为例 准备配置文件 本文推荐将mysql配置文件挂载出来,便于查看和统一管理 新建一个格式为.cnf的文件,作为主库的配置文件,写入以下内容 !includedir /etc/mysql/conf.d/ !includedir /etc/mysql/mysql.conf.d/ [mysqld] ## 同一局域网内注意要唯一 server-id=001 ## 开启二进…

2021年3月26日 0条评论 8点热度 阅读全文

Mysql数据库学习日志(1) 本日志系列是对于我在近期对于Mysql数据库的学习过程中,所学到的知识的总结。用于更好的巩固自身对于Mysql数据库知识的理解,同时也能让自己时不时回头看看,之前学习了些什么。 在学习Mysql之前,我们要先明白一个问题。 数据库到底是什么? 众所周知,当我们在了解一个全新的未知事物时,wwwh方法论,也就是所谓的What Why Where How方法,以此来认知一个事物。在这一部分,我们就来阐述一下,数据库到底是什么东西。 在这里我们首先要分清楚一个概念,数据库的原意是:存储数据…

2021年3月26日 0条评论 3点热度 阅读全文

双主模式是指两台服务器互为主从,任何一台服务器数据变更,都会通过复制应用到另外一方的数据库中。 随着业务发展,架构会从主从模式演变为双主模式,建议用双主单写,再引入高可用组件,例如 Keepalived和MMM等工具,实现主库故障自动切换。 前提配置:两台mysql服务器作为master_1 和 master_2 一、master_1配置 修改配置文件 vi /etc/my.cnf 在主从配置的基础上追加配置 #主从配置 log_bin=mysql-bin server-id=1 sync-binlog=1 bin…

2021年3月26日 0条评论 3点热度 阅读全文

connection Pool(线程池) 1.1 功能 Authentication: 认证 Thread Reuse: 线程重用 Connection Limits: 连接数量限制 Check Memory: 检测内存(连接线程相关的内存) caches:必要的线程缓存 Mysql是一个单进程多线程的应用,当用户通过Connetor向Mysql Server 发起请求连接时,通过线程池(Connection Pool)建立一个用户连接,此连接会话将会一直存在,用户可以通过此会话,发对应的SQL语句到服务端,服务端…

2021年3月25日 0条评论 6点热度 阅读全文

文章目录 前言 1. Buffer Pool 2. undo 日志文件 3. 更新buffer pool 数据 4. redo log buffer 5. 事务没提交,数据库宕机后有影响吗? 6. 提交事务,redo日志的配置策略 7. 事务的最终提交,binlog 1) biglog 与 redo log的区别 2) 提交事务的时候同时写入binlog 3) binlog日志刷盘策略分析 4) 基于binlog 和 redo log 完成事务的提交 5) commit 标记有什么意义? 8. buffer poo…

2021年3月25日 0条评论 3点热度 阅读全文

文章目录 为何称MySQL为黑盒? 1. 网络连接必须使用线程来处理 2. SQL接口:负责处理接收到的sql语句 3. 查询解释器:让MySQL看懂sql语句 4. 查询优化器:选择最优的查询路径 5. 调用存储引擎接口,真正执行sql语句 6. 执行器:根据执行计划调度存储引擎 总结: 为何称MySQL为黑盒? 对于大部分的开发人员而言,编写增删查改的sql语句通过数据库连接去操作数据库,但并不关心数据库是如何监听请求和从连接中把请求数据中提取出来,往往在意表结构,sql执行效率慢就给他们建立索引,完全把MyS…

2021年3月25日 0条评论 3点热度 阅读全文

数据库概述 数据库(DB) 数据库: 存储数据的仓库,是长期存放在计算机内、有组织、可共享的大量数据的集合。数据库中的数 据按照一定数据模型组织、描述和存储,具有较小的冗余度,较高的独立性和易扩展性,并为各种用户 共享,总结为以下几点: 数据结构化 数据的共享性高,冗余度低,易扩充 数据独立性高 数据由 DBMS 统一管理和控制(安全性、完整性、并发控制、故障恢复) 数据库管理系统(DBMS) 数据库管理系统(DataBase ManagermentSystem,简称DBMS)是管理数据库的一个软件,它充当所有数据…

2021年3月25日 0条评论 5点热度 阅读全文

Linux普通用户安装MySql5.7.13详细步骤及解释 1、下载mysql安装包: 百度云地址: 2、解压 解压mysql5.7到指定的目录 tar -zxf mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz -C . 3、创建目录 在解压后的mysql目录里面执行: mkdir -p ./{ data,log,tmp,var,conf} 4、配置文件 my.cnf [mysqld] port = 3306 basedir = /home/hadoop/mysql datadi…

2021年3月25日 0条评论 5点热度 阅读全文

MySQL基本的架构示意图为 一条查询语句执行的流程为 连接器 :链接数据库这个时候接待你的就是mysql的连接器负责跟数据库建立链接,获取权限,维持和管理链接其中需要注意的几个点总结入选 1 MySQL 修改用户权限,下次登录生效 2 连接完成后,如果你没有后续的动作,这个连接就处于空闲状态,你可以在 show processlist 命令中看到它 默认情况下是8个小时自动断开 由参数wait_timeout控制 分析器(要做什么): mysql 需要知道你做什么所以在此过程中会对语句进行分析 (其中连接器的部分…

2021年3月25日 0条评论 3点热度 阅读全文