深入解析Mysql 主从同步延迟原理及解决方案

MySQL的主从同步是一个很成熟的架构,优点为:①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;②在从主服务器进行备份,避免备份期间影响主服务器服务;③当主服务器出现问题时,可以切换到从服务器。相信大家对于这些好处已经非常了解了,在项目的部署中也采用这种方案。但是MySQL的...

2018-06-04 10:33:54

阅读数:25

评论数:0

悲观锁、乐观锁的区别及使用场景

定义:悲观锁(Pessimistic Lock): 每次获取数据的时候,都会担心数据被修改,所以每次获取数据的时候都会进行加锁,确保在自己使用的过程中数据不会被别人修改,使用完成后进行数据解锁。由于数据进行加锁,期间对该数据进行读写的其他线程都会进行等待。乐观锁(Optimistic Lock):...

2018-05-31 09:52:03

阅读数:23

评论数:0

数据库事务隔离级别-- 脏读、幻读、不可重复读(清晰解释)

一、数据库事务隔离级别数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed 、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读 、不可重复读 、幻读 这几类问题。√: 可能出现    ×: 不会出现脏读不...

2018-02-09 10:19:23

阅读数:56

评论数:0

MySQL中MyISAM与InnoDB区别及选择

2018-02-08 10:39:13

阅读数:70

评论数:0

MySQL分区与分片的差异

要了解分区与分片之间的差异,首先我们需要知道什么是分片与分区。 分片:分片Sharding 不是一门新技术,而是一个相对简朴的软件理念。众所周知,MySQL 5 之后才有了数据表分区功能,那么在此之前,很多 mysql 的潜在用户都对 MySQL 的扩展性有所顾虑,而是否具备分区功能就成...

2018-01-23 19:55:51

阅读数:171

评论数:0

mysql into outline 导出数据到文件 --where

//导出投资数据 select *  from activity  where activity_id=62 INTO OUTFILE '/tmp/fifty_2017'  //导出18服务器少量数据的sql  mysqldump  -uroot -p12345678  ba...

2017-05-31 09:56:37

阅读数:227

评论数:0

MySQL通过binlog来恢复数据

一、什么是binlog 1、binlog基本定义:二进制日志,也成为二进制日志,记录对数据发生或潜在发生更改的SQL语句,并以二进制的形式保存在磁盘中; 二进制日志的信息: 文件位置:默认存放位置为数据库文件所在目录下 文件的命名方式: 名称为hostname-bin.xx...

2017-04-19 14:46:26

阅读数:119

评论数:0

mysql主从同步原理

//主从同步 实际上,你读的主库和从库都可以,但是写的肯定是进入到主库里,然后从库在读binlog,从库同步 binlog文件是以二进制形式保存的 主库执行 SQL 写Binglog 同步到从库执行 什么叫同步,就是insert 或者update或者delete 都会操作主库,每执...

2017-01-04 14:52:16

阅读数:208

评论数:2

mysql 性能优化方案 (转)

网 上有不少MySQL 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果,因此简单地根据某个给出方案来配置mysql是行不通的,最好能使用 status信息对mysql...

2016-11-16 17:31:56

阅读数:160

评论数:0

MySQL查询某个字段属性值重复出现的次数

在某些时候,我们需要在MySQL中查询某个字段属性值重复的次数:   select category , count(*) AS count from publication_has_category      group by category order by count DESC     ...

2016-01-21 09:23:17

阅读数:6663

评论数:0

Mysql常见水平分表方案

根据经验,Mysql表数据一般达到百万级别,查询效率会很低,容易造成表锁,甚至堆积很多连接,直接挂掉;水平分表能够很大程度较少这些压力。 1.按时间分表 这种分表方式有一定的局限性,当数据有较强的实效性,如微博发送记录、微信消息记录等,这种数据很少有用户会查询几个月前的数据,如就可以按...

2016-01-11 10:38:32

阅读数:481

评论数:1

mysql 查询 in 导致数据出不来换成between and 就可以了

select count(1) as total from rights, lender where rights.loan_id in (25707,25708,25718)  and rightss.state IN (0,1,2,3,4,6) and lender.id= rights.le...

2018-06-06 11:21:53

阅读数:7

评论数:0

秒杀核心设计(减库存部分)-防超卖与高并发

方案二:start transaction;select id from buy_record where uid=$uid and goods_id=$goods_id for  update ;if(结果不为空)    抛异常,回滚。insert into buy_record。。。if(受影...

2018-06-04 14:14:24

阅读数:10

评论数:0

mysql binlog文件格式详解

binlog格式分为statement,row以及mixed三种,mysql5.5默认的还是statement模式,当然我们在主从同步中一般是不建议用statement模式的,因为会有些语句不支持,比如语句中包含UUID函数,以及LOAD DATA IN FILE语句等,一般推荐的是mixed格式...

2018-05-24 17:16:47

阅读数:15

评论数:0

MySQL中B+Tree索引原理

B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。B+树中的B代表平衡(balance),而不是二叉(binary),因为B+树是从最早的平衡二叉树演化而来的。在讲B+树之前必须先了解二叉查找树、平衡二叉树(AVLTree)和平衡多路查找树(B-Tree),B+树...

2018-05-09 10:35:12

阅读数:13

评论数:0

mysql事务隔离级别

未提交读:一个事务可以读取另一个未提交的数据,容易出现脏读的情况。读提交:一个事务等另外一个事务提交之后才可以读取数据,但会出现不可重复读的情况(多次读取的数据不一致),读取过程中出现UPDATE操作,会多。(大多数数据库默认级别是RC,比如SQL Server,Oracle),读取的时候不可以修...

2018-05-07 16:21:15

阅读数:5

评论数:0

MySql最左前缀原则

最左前缀原则通过实例理解单列索引、多列索引以及最左前缀原则实例:现在我们想查出满足以下条件的用户id: mysql>SELECT `uid` FROM people WHERE lname`=’Liu’ AND `fname`=’Zhiqun’ AND `age`=26 因为...

2018-05-03 10:15:04

阅读数:15

评论数:0

mysql优化的方式和技巧

SQL优化步骤1,通过show status like 'Com_%' 查询数据库以查询为主还是以更新为主,以及各种sql的大致执行比例是多少,对于事务型的应用,通过Com_commit和Com_rollback可以了解事物提交和回滚的情况,对于回滚操作非常频繁的数据库,可能意味着应用编写存在问题...

2018-04-18 09:46:37

阅读数:21

评论数:0

mysql子查询不支持limit问题解决

This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME 错误解决这次国庆节回来后的测试中,在一个Mysql表达式中使用嵌套查询,出现了这个错误。原因是内层select语句带有limit子句。在网上...

2018-04-09 18:02:24

阅读数:13

评论数:0

Mysql索引会失效的几种情况分析

索引并不是时时都会生效的,比如以下几种情况,将导致索引失效:1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因)  注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引2.对于多列索引,不是使用的第一部分(第一个),则不会使用索引3.like查询...

2018-04-02 10:24:01

阅读数:24

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭