
Mysql
文章平均质量分 79
mysql数据库内容分析
FLGB
这个作者很懒,什么都没留下…
展开
-
Docker 安装单机版mysql 并持久化数据
v /docker/mysql/data:/var/lib/mysql \ 将日志文件夹挂载到主机。-v /docker/mysql/log:/var/log/mysql \ 将配置文件夹挂载到主机。-v /docker/mysql/conf:/etc/mysql \ 将配置文件夹挂载到主机。-e MYSQL_ROOT_PASSWORD=123 \ 初始化root的密码。-p 3306:3306 将容器的端口号3306映射到主机的3306端口号。–name 镜像命名。原创 2024-11-21 13:45:42 · 533 阅读 · 0 评论 -
MySQL 的binlog 、undolog 、redolog
是物理页的缓存,对InnoDB的任何修改操作都会首先在Buffer Pool的page上进行,然后这样的页将被标记为脏页并被放到专门的Flush List上,后续将由专门的刷脏线程阶段性的将这些页面写入磁盘。InnoDB的redo log是固定大小的,比如可以配置为一组4个文件,每个文件的大小是1GB,循环使用,从头开始写,写到末尾就又回到开头循环写(顺序写,节省了随机写磁盘的IO消耗)在 STATEMENT 模式下,每个语句会被记录并在从库执行,但如果有依赖顺序或其他条件的语句,可能导致复制不一致。原创 2024-08-01 16:49:19 · 896 阅读 · 0 评论 -
Mysql sql技巧与优化
结合上图执行计划分析,C表是外部驱动表,索引方式为idx_pk,Type是Range,Extra有Using index condition、Using where以及Using MRR,表示进行全表扫描,通过索引初步过滤,回表B再过滤其他条件。在这个例子中,如果customers.customer_id是一个唯一键或主键,并且在orders.customer_id上有索引,那么可能会使用eq_ref访问方法。用法:当一个表有一个唯一索引,并且该索引中的所有字段都被用于连接条件时,会使用eq_ref。原创 2024-07-19 17:30:14 · 1055 阅读 · 0 评论 -
Mysql索引优化
如果MySQL 使用某个索引进行范围查询,也就无法再使用另一个索引((或者是该索引的后续字段) 进行排序了原创 2024-07-12 15:26:02 · 262 阅读 · 0 评论 -
Mysql如何高效ALTER TABL
MySQL MySQL 执行大部分修改表结构操作的方法是用新结构的 创建一个,空表从旧表中查出所有数据插入,新表然后删除旧。,我们是常量在 列表的末尾增加一个新的值。如果把新增的放值在,中间例如PG-13 之后则导致会已存在经 数据的的含义被改变: 已存在经 的了值将变成PG-14 ,而已存在经 的NC-17 将成为RR,等。列的默认值实际上存在表的. frm 文件中,是可以直接修改.frm 文件的。MySQL 的ALTER TABLE 操作的性能对大表来说是个大问题。所以,这个操作是非常快的。原创 2024-07-10 17:42:55 · 923 阅读 · 0 评论 -
生产环境数据处理单sql编写
一般经常会有线上数据需要修复,DBA在审核sql的时候,往往会让你加入备份相关语句。当然,如有公司有自动化sql平台,会自动生成备份、回滚语句除外。原创 2024-03-31 10:58:49 · 305 阅读 · 0 评论 -
mysql系统表--数据库的容量及表容量查询
collation_character_set_applicability表:相当于collations表和character_sets表的前两个字段的一个对比,记录了字符集之间的对照信息。在mysql中有一个information_schema数据库,这个数据库中装的是mysql的元数据,包括数据库信息、数据库中表的信息等。– 查询所有的数据大小。tables表:这个表里存储了所有数据库中的表的信息,包括每个表有多少个列等信息。schemata表:这个表里面主要是存储在mysql中的所有的数据库的信息。原创 2023-02-22 10:59:56 · 1365 阅读 · 0 评论 -
Mysql主从配置
1. 环境准备1.1Mysql版本**MySQL5.7**1.2主从同步原理:1.3 准备两台机器master 192.168.44.121slave 192.168.44.128如果用clone的方式得到两个MySQL服务,需要注意的地方:不同机器的UUID不能重复,否则IO线程不能启动:find / -name auto.cnfvim /var/lib/mysql/auto.cnf把里面的UUID随便改掉一位。重启服务命令:service mysqld restart原创 2021-03-15 23:48:49 · 173 阅读 · 1 评论 -
Mysql(五)Mysql锁机制及锁实现读一致性
1. MySQL InnoDB 锁的基本类型https://dev.mysql.com/doc/refman/5.7/en/innodb-locking.html官网把锁分成了 8 类。所以我们把前面的两个行级别的锁(Shared and ExclusiveLocks)和两个表级别的锁(Intention Locks)称为锁的基本模式。后面三个 Record Locks、Gap Locks、Next-Key Locks,我们把它们叫做锁的算法,也就是分别在什么情况下锁定什么范围。1.1 锁的粒度原创 2021-03-15 23:28:44 · 278 阅读 · 0 评论 -
Mysql(四)Mysql事务和MVCC机制
什么是数据库的事务1. 事务的典型场景在项目里面,什么地方会开启事务,或者配置了事务?无论是在方法上加注解,还是配置切面<tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="save*" rollback-for="Throwable" /> <tx:method name="add*" rollback原创 2021-03-14 18:39:00 · 204 阅读 · 0 评论 -
Mysql(二)一条更新语句的执行流程
讲完了查询流程,我们是不是再讲讲更新流程、插入流程和删除流程?在数据库里面,我们说的 update 操作其实包括了更新、插入和删除。如果大家有看过 MyBatis 的源码,应该知道 Executor 里面也只有 doQuery()和 doUpdate()的方法,没有 doDelete()和 doInsert()。更新流程和查询流程有什么不同呢?基本流程也是一致的,也就是说,它也要经过解析器、优化器的处理,最后交给执行器。区别就在于拿到符合条件的数据之后的操作。1. 缓冲池 Buffer Pool原创 2021-03-14 17:34:03 · 256 阅读 · 0 评论 -
Mysql(一)一条查询语句的执行流程
Mysql查询语句的执行流程一条查询 SQL 语句是如何执行的?1. 和数据库建立连接MySQL 必须要运行一个服务,监听默认的 3306 端口。在我们系统跟第三方接口对接的时候,必须要弄清楚的有两件事。第一个就是通信协议,比如我们是用 HTTP 还是 WebService 还是 TCP?第二个是消息格式,比如我们用 XML 格式,还是 JSON 格式,还是定长格式?报文头长度多少,包含什么内容,每个字段的详细含义。MySQL 是支持多种通信协议的,可以使用同步/异步的方式,支持长连接/短连原创 2021-03-09 18:00:06 · 1557 阅读 · 1 评论 -
Mysql(三)Mysql索引基本原理
1.1. 索引是什么1.1.1.索引图解维基百科对数据库索引的定义:数据库索引,是数据库管理系统(DBMS)中一个排序的数据结构,以协助快速查询、更新数据库表中数据。怎么理解这个定义呢?首先数据是以文件的形式存放在磁盘上面的,每一行数据都有它的磁盘地址。如果没有索引的话,要从 500 万行数据里面检索一条数据,只能依次遍历这张表的全部数据,直到找到这条数据。但是有了索引之后,只需要在索引里面去检索这条数据就行了,因为它是一种特殊的专门用来快速检索的数据结构,我们找到数据存放的磁盘地址以后,就可以原创 2021-03-07 18:16:52 · 324 阅读 · 0 评论