MySQL数据库
迎风追日
8 年软件开发经验,其中 2 年的项目开发负责人经验,擅长 java web 平台的开发,多年云计 算、大数据领域面向教育、公安类 SaaS 应用开发背景;具有较强的业务分析能力,能够快速理解 和分析复杂的业务逻辑;有较强的沟通协作能力,有异地开发经历;有较强的学习能力,且愿意 尝试新技术。
展开
-
mysql主从搭建
mysql主从搭建2020年12月13日17:06搭建:1、mysqld.cnf 配置文件区分master和slavemysql服务器唯一标识设置:server-id=1 作用:server-id用于标识数据库实例,防止在链式主从、多主多从拓扑中导致SQL语句的无限循环: (1)标记binlog event的源实例 (2)过滤主库binlog,当发现server-id相同时,跳过该event执行,避免无限循环执行。 (3)如果设置了repli...原创 2020-12-27 15:05:45 · 389 阅读 · 2 评论 -
mysql主从复制原理
mysql主从复制原理2020年12月20日11:24MySQL 是以容易学习和方便的高可用架构,被开发人员青睐的。而它的几乎所有的高可用架构,都直接依赖于 binlog参考 <https://time.geekbang.org/column/article/76446> 1、主从复制原理:一条更新语句的执行过程:主库接收到客户端的更新请求后,执行内部事务的更新逻辑,同时写 binlog备库 B 跟主库 A 之间维持了一个长连接。主库 A 内...原创 2020-12-27 15:03:42 · 866 阅读 · 2 评论 -
on duplicate key update语句和insert ignore into语句
插入更新语句:ON DUPLICATE KEY UPDATE该语句的语法如下:INSERTINTOtablename(field1,field2, field3, ...)VALUES(value1, value2, value3, ...)ONDUPLICATEKEYUPDATEfield1=value1,field2=value2, field3=value3, ...原创 2019-05-27 17:39:11 · 1542 阅读 · 0 评论 -
深入理解for update 和 lock in share mode
概念和区别SELECT ... LOCK IN SHARE MODE走的是IS锁(意向共享锁),即在符合条件的rows上都加了共享锁,这样的话,其他session可以读取这些记录,也可以继续添加IS锁,但是无法修改这些记录直到你这个加锁的session执行完成(否则直接锁等待超时)。SELECT ... FOR UPDATE 走的是IX锁(意向排它锁),即在符合条件的rows上都加了排它锁...转载 2019-05-08 19:17:34 · 5344 阅读 · 1 评论 -
mysql--存储引擎介绍
引子 在之前的文章中我们说过MySQL事务,现在大家都应该知道了MySQL事务了吧,还记得事务的ACID原则吗?不记得的童鞋可以回顾一下《深入理解事务隔离级别》,其实呀,更严谨一点的话,应该是MySQL InnoDB存储引擎,因为在MySQL中,只有InnoDB存储引擎才支持事务。看到此处,有些朋友可能有以下疑问: 存储引擎是什么? MySQL中有哪些存储引擎? 每...原创 2018-07-04 15:41:11 · 222 阅读 · 0 评论 -
MySQL运维、性能优化命令
1、查看数据库的连接情况mysql> show status like 'Threads%';+-------------------+-------+| Variable_name | Value |+-------------------+-------+| Threads_cached | 58 || Threads_connected | 57...转载 2018-12-01 10:47:07 · 726 阅读 · 0 评论 -
mySQL数据库间隙锁(mysql是如何解决幻读的)
概念当我们用范围条件而不是相等条件检索数据,并请求共享或排他锁时,InnoDB会给符合条件的已有数据记录的索引项加锁;对于键值在条件范围内但并不存在的记录,叫做“间隙(GAP)”,InnoDB也会对这个“间隙”加锁,这种锁机制就是所谓的间隙锁(GAP LOCK),间隙锁和行锁合称Next-Key Lock。举例来说,假如user表中只有101条记录,其empid的值分别是 1,2,...,...原创 2018-08-16 11:38:22 · 24860 阅读 · 13 评论 -
mysql--悲观锁和乐观锁
悲观锁与乐观锁是两种常见的资源并发锁设计思路,也是并发编程中一个非常基础的概念。之前有写过一篇文章关于并发的处理思路和解决方案,这里我单独将对这两种常见的锁机制在数据库数据上的实现进行比较系统的介绍一次吧。悲观锁(Pessimistic Lock)悲观锁的特点是先获取锁,再进行业务操作,即“悲观”的认为获取锁是非常有可能失败的,因此要先确保获取锁成功再进行业务操作。通常所说的“一锁二查三更新”即指...转载 2018-06-26 12:17:40 · 183 阅读 · 0 评论 -
MySQL--sql语句优化
提示:本文转自「陶邦仁」的博客,他稍微做了整理。原始出处暂无找到,如有知晓的朋友,可留言告知。 :)一、问题的提出在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL语句的优化。对...转载 2018-06-24 12:45:28 · 655 阅读 · 1 评论 -
MySQL数据库-初识MySQL数据库索引
索引是存储引擎用于快速找到记录的一种数据结构。索引种类索引我们分为四类:单列索引(普通索引,唯一索引,主键索引)、组合索引、全文索引、空间索引:普通索引:仅加速查询唯一索引:加速查询 + 列值唯一(可以有null)主键索引:是一种特殊的唯一索引,不允许有空值。组合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并全文索引:只有在MyISAM引擎上才能使用,只...原创 2018-05-02 14:52:31 · 247 阅读 · 0 评论 -
MySQL数据库FAQ
(一)什么是存储过程?有哪些优缺点?存储过程是一些预编译的SQL语句。更加直白的理解:存储过程可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。存储过程是一个预编译的代码块,执行效率比较高一个存储过程替代大量T_SQL语句 ,可以降低网络通信量,提高通...原创 2018-05-06 18:46:55 · 683 阅读 · 0 评论 -
MySQL数据库-三大范式
第一范式第一范式(1NF)要求数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值。若某一列有多个值,可以将该列单独拆分成一个实体,新实体和原实体间是一对多的关系。在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。第一范...转载 2018-05-06 18:31:29 · 21452 阅读 · 3 评论 -
MySQL数据库-数据库事务
什么是『事务』?事务就是一组具有原子性的操作,这一组操作要么全都正确执行,要么全都不执行。 事务能保证数据库从一种一致性状态转换为另一种一致性状态。事务的四大特性ACID1. 原子性原子性指的是事务是一个不可分割的操作,要么全都正确执行,要么全都不执行。2. 一致性事务开始前和事务结束后,数据库的完整性约束没有被破坏。3. 隔离性事务的执行是相互独立的,它们不会相互干扰,一个事务不会看到另一个正在...转载 2018-05-06 18:04:42 · 193 阅读 · 0 评论 -
MySQL数据库知识点
1、事务和锁事务级别:读未提交:别人改数据的事务尚未提交,我在我的事务中也能读到。读已提交:别人改数据的事务已经提交,我在我的事务中才能读到。可重复读:别人改数据的事务已经提交,我在我的事务中也不去读。串行:我的事务尚未提交,别人就别想改数据。这4种隔离级别,并行性能依次降低,安全性依次提高。在MySQL的InnoDB中,预设的Tansaction isolation l...原创 2018-05-11 19:54:26 · 223 阅读 · 0 评论