随笔分类 - 数据库
摘要:连接器 我们和数据库进行交互的话,首先要进行连接。服务端校验账号密码无误后,就意味着一个用户成功建立连接,可以进行各种操作了。在连接的过程中,账号权限发生了改变也是感知不到的,必须重新连接才能获取账号最新权限。 缓存 建立完连接后,现在执行select就来到了第二步:查询缓存,就是以sql为key,
阅读全文
摘要:master 一:修改配置文件 vim /etc/my.cnf # 一个集群中的id保持唯一 server-id=1 log-bin=log # 忽略需要同步的库 binlog-ignore-db=mysql,information_schema,performance_schema,sys # 指
阅读全文
摘要:mysql如何处理脏写的 mysql处理写并发,说白了就是靠的锁机制,让多个事务对一行数据执行写操作的时候串行化,避免同时写一行数据。如果现在有一个事务来了要更新这行数据,它会先看看这行数据此时有没有人加锁?一看没人加锁,太好了,说明他是第一个人,捷足先登了。此时这个事务就会创建一个锁,里面包含了自
阅读全文
摘要:多事务并发的问题 对 innodb引擎执行流程 和 buffer pool 足够了解的话,那一定知道mysql系统在初始化的时候bufferpool会将内存分为多个缓存页,此时的free链表都是空的;在对数据做操作的时候,就会将磁盘的数据页加载到内存的缓存页中去,此时这个缓存的描述信息就会从free
阅读全文
摘要:表空间 我们脑子里理解数据的存储就是‘一个库里面有一些表,表里面有很多字段,然后有很多行数据’,但其实这只是我们的逻辑概念,数据在磁盘物理存储方式可不是这样的。mysql在服务器上是以一个文件夹的形式出现的,你创建了test数据库,那么在磁盘上就会出现test的目录,而创建的那些表,其实都是有一个表
阅读全文
摘要:在innodb引擎执行流程中,我们已经知道了buffer pool的重要性,对数据库执行增删改查操作,其实都是在内存里的Buffer Pool中进行的。buffer pool的本质就是一片数据内存结构,默认比较小只有128mb,由一大堆的缓存页和描述数据块组成的,然后加上了各种链表(free、flu
阅读全文
摘要:平时我们在做应用开发时,一般情况下都会连接到一个MySQL数据库上去,把MySQL当个黑盒子一样执行各种增删改查的语句。里面的逻辑很多人都不清楚。那现在一个简单的 update users set name = "靓仔" where name = "吴磊" 在执行的时候,究竟会经过哪几步呢? 首先前
阅读全文
摘要:一般我们的java应用系统都是部署在4核8g的服务器上,每秒大概能抗住几百个请求左右。而我们通常都是java程序读取mysql数据,经过逻辑处理后响应到页面。所以很大程度上,mysql的性能直接影响了我们的系统能承载多大的并发量。一般数据库都是选择8核16g起步,每秒1~2000并发没问题;甚至是1
阅读全文
摘要:sql语句调优大致分为两步:1 如何定位慢查询 2 如何优化sql语句。 定位慢查询 -- 显示到mysql数据库的连接数 -- show status like 'connections'; -- 显示慢查询次数 show status like 'slow_queries'; -- 查看慢查询阈
阅读全文
摘要:环境:jdk8 mysql5.6 mycat1.4 mysql5.6 安装教程 : https://www.cnblogs.com/wlwl/p/9988245.html Mycat支持的命令: console 启动(控制台打印启动信息) start 普通启动 stop 停止 restart 重启
阅读全文
摘要:安装mysql8 基本命令 安装 : yum install mysql-community-server 启动 : service mysqld start/restart 停止 : service mysqld stop 查看状态: service mysqld status 本文包括: mys
阅读全文
摘要:什么是索引: 索引是一种高效获取数据的存储结构,例:hash、 二叉、 红黑。 Mysql为什么不用上面三种数据结构而采用B+Tree: 若仅仅是 select * from table where id=45 , 上面三种算法可以轻易实现,但若是select * from table where
阅读全文