最近开发中遇到的一个MySQL主从延迟的坑,记录并总结,避免再次犯同样的错误. 情景 一个活动信息需要审批,审批之后才能生效.因为之后活动要编辑,编辑后也可能触发审批,审批中展示的是编辑前的活动内容,考虑到字段比较多,也要保存审批活动的内容,因此设计采用了一张临时表,审批中的活动写进审批表(activity_tmp),审批通过之后才把真正的活动内容写进活动表(activity).表的简要设计如下,这里将活动内容字段合并为content展示: activity_tmp() id status //…
MySQL主从复制延迟的问题 #M1002# https://mp.weixin.qq.com/s/NwFGER-qn2xQ5TnG-php1Q 更为糟糕的是,MySQL主从复制在大事务下的延迟.同样假设1个大事务在主服务器上执行了1个小时,则需要在最后的提交时间传送到从服务器.主从延迟的时间至少为1个小时,若从服务器执行还需1个小时,则主从复制延迟的最坏情况可能是2个小时.物理复制则不存在这样的限制,原因还是如前所述,事务提交过程中,日志已经在传输和回放. 一个执行了一个小时的大事务,事务提交…
浅谈mysql主从复制延迟 1 概念解读 需要知道以下几点 1 mysql的主从同步上是异步复制,从库是串行化执行 2 mysql 5.7的并行复制能加速从库重做的速度,进一步缓解 主从同步的延迟问题 3 mysql的Seconds_Behind_Master代表延迟的状态 0为无延迟 4 mysql的Slave_SQL_Running_State:状态在异常时会有所表现,延迟出现的时候要尤为注意 5  Master_Log_File = Relay_Master_Log_File,Read_M…
mysql主从复制安装配置 1.centos安装及准备 去centos官网下载相应source版本的镜像文件并在vmware中安装,安装中会遇到填写installation source,输入以下即可:http://mirrors.aliyun.com/centos/8-stream/BaseOS/x86_64/os/ 设置主机名字:hostnamectl set-hostname xxxx,设置好后重启即可生效 2.安装mysql数据库 先在mysql官网下载相应的mysql版本,然后通过Xs…
一.如何监控发生了主从延迟? 在从库机器上,执行show slave status,查看Seconds_Behind_Master值,代表主从同步从库落后主库的时间,单位为秒,若同从同步无延迟,这个值为0. Mysql主从延迟一个重要的原因之一是:mysql是以单线程串行执行. 主从复制数据时,在从服务器上的mysql,是一个线程在同步数据. 串行的方式,它是指,执行一个后才继续执行下一个.如果一个卡住了,要等待时间,才会继续下一个.串行与并行是相反的. 二.同步延迟发生的场景 当主库的TPS并…
最近在写代码调试时,遇到了一个问题. 遇到问题 具体操作如下: 1.调用方法A,并且方法A加上了@Transactional事务注解. 2.在方法A内部,查询并更新某个字段F的值. 3.处理其他逻辑. 4.查询并打印日志,记录关键字段的值,包括字段F. 5.方法A结束. 由于刚刚接手这块代码,而且这个方法又写得很长,所以很多逻辑都没法细看,只能慢慢调试. 我在第4步打了断点,调试时查看日志,感觉数据有问题,将sql复制到数据库里面手动跑了一遍, 发现在方法里和数据库里,执行同一条Sql,结果竟然…
一 简介:今天来聊聊周期性从库延迟的问题,是上一篇的基础分析的一个场景 二 背景:近期每天的指定时间段,收到从库延迟的报警,然后过一段时间恢复.由于从库是提供读服务的,所以需要解决 三 分析思路: 1 周期性延时,而且全部从库都出现延迟,应该是由于主库的DML操作引起的 2 查看主库的慢日志记录(我们的数据库会每小时进行切割),也并没有发生DML慢语句,排除因为慢sql(DML操作)导致的问题,主库的DML操作如果出现慢语句,同步到从库会更慢,比如update,delete语句 3 查看从库的慢…
Mysql主从复制.读写分离 目录 Mysql主从复制.读写分离 读写分离 读写分离概述 为什么要读写分离 什么时候要读写分离 主从复制与读写分离 mysql支持的复制类型 主从复制的工作过程 初始环境 Mysql主从服务器时间同步 主服务器设置 从服务器设置 主服务器mysql配置 修改从服务器配置 从服务器mysql配置 测试主从复制 在主表创建库 在库内创建表并添加数据记录 MySQL主从复制延迟 MySQL主从复制的几个同步模式 异步复制(Asynchronous replication…
MySQL 主从复制与读写分离 1.什么是读写分离 2.为什么要读写分离 3.什么时候要读写分离 4.主从复制与读写分离 5.mysql支持的复制类型 6.主从复制的工作过程 7.MySQL主从复制延迟 8.MySQL读写分离原理 9.目前较为常见的MySQL读写分离分为以下两种 10.部署主从复制与读写分离 1.什么是读写分离 : 读写分离,基本的原理是让主数据库处理事务性增.改.删操作( INSERT.UPDATE.DELETE) ,而从数据库处理SELECT查询操作. 数据库复制被用来把事…
1.1.1故障1:从库数据与主库冲突 1 2 3 4 5 6 show slave status; 报错:且show slave status\G Slave_I/O_Running:Yes Slave_SQL_Running:No Seconds_Behind_Master:NULL Last_error:Error 'Can't create database 'xiaoliu'; database exists' on query. Default   database:'xiaoliu'…
CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, 如果你发现进坑了, 欢迎参考本篇文章:) 第一次尝试遇到的问题: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 尝试卸载重新安装, 参考, 步骤: 1.查看yum是否安装过mysq…
从毕业到现在第一次接触到超过30万条数据导入MySQL的场景(有点low),就是在顺丰公司接入我司EMM产品时需要将AD中的员工数据导入MySQL中,因此楼主负责的模块connector就派上了用场.在楼主的努力下,线上数据同步代码经历了从最初的将近16个小时(并且还出现其他问题这些问题,等后面慢慢细说),到最终25分钟的性能优化. 打个广告,楼主自己造的轮子,感兴趣的请点https://github.com/haifeiWu/lightconf 代码直接Jenkins打包上线 楼主负责的con…
踩坑起因:在创建数据库时, 字段:create_time datetime DEFAULT CURRENT_TIMESTAMP, 报异常--Error Code: 1067 - Invalid default value for 'create_time' 经过苦苦查询下发现时数据库版本5.5不支持默认值 CURRENT_TIMESTAMP,然后就有了换版本踩坑的经历了. mysql下载地址 步骤: 安装 1.下载.zip文件,下载完成后在电脑上选择位置解压缩 2.配置环境变量: cmd输入my…
一.问题描述 主从复制错误一直是MySQL DBA一直填不完的坑,如鲠在喉,也有人说mysql主从复制不稳定云云,其实MySQL复制比我们想象中要坚强得多,而绝大部分DBA却认为只要跳过错误继续复制就好啦,接下来不发生错误就好了,其实跳过错误就会有数据不一致的风险,数据不一致可能还会越来越严重,而我就复制错误中反复出现的1045.1032和1062错误引起的数据库主从不一致的的现象进行深入分析及给出一套完善的解决方案. (1) [ERROR]1452:无法在外键的表插入参考主键没有的数据 (2)…
ABP框架踩坑记录 ASP.NET Boilerplate是一个专用于现代Web应用程序的通用应用程序框架. 它使用了你已经熟悉的工具,并根据它们实现最佳实践. 文章目录 使用MySQL 配置User Secrets 配置数据库表前缀 添加实体 后续更新中~~ 开始前的准备 此处使用的为ABP Module Zero,ASP.NET Core + Vue.js,版本为4.4. 开发环境: Visual Studio 2017 Community .NET Core 2.2 可以在此下载初始模板:…
记录本人第一次使用mysql时踩的坑,因为我从官网下载最新的版本8.0.15msi版本的,直接下一步下一步安装完成之后,本地访问正常,然后服务器安装访问也正常.然后本地连接服务器上的mysql时报错. 百度一查,了解,原来是服务器上的mysql没有开放权限. 接下来在服务器上的命令提示符进去安装目录输入这句sql,但是一直提示语句报错,当使用 grant 权限列表 on 数据库 to '用户名'@'访问主机' identified by '密码'; 时会出现"......near 'identi…
SUCTF 2019 Upload labs 2 踩坑记录 题目地址 : https://github.com/team-su/SUCTF-2019/tree/master/Web/Upload Labs 2 最近恶补了一下 SoapClient 反序列化和 MySQL 客户端任意文件读取的知识,这个题目很好的说明了这两个知识点 有一个问题,GitHub 上的代码有点错误,admin.php 中第 63 行 $arg2 = $_POST['arg3']; 要改成 $arg3 = $_POST['…
@ 目录 前言 1. 相关环境版本: 坑点一:VMware与Win10 Docker冲突 坑点二:20.版本TarsJava(SpringBoot)依赖文件缺失 2. Docker安装: 坑点三:Docker的镜像默认安装在C盘 3. Tars部署: 坑点四:Tars框架MySQL密码错误 4. 代码处理: 坑点五:发布包与服务名不匹配 坑点六:[alarm] down, server is inactive 5. 接口调试: 最后 前言 受限于网上资源有限,加上小白一枚,笔者在Tars入门部署…
昨天(2016-2-2日),突然发现系统的一个微信接口使用不了了.后来经查发现,是在网页授权获取用户基本信息的时候,unionid获取失败导致的. 在网页授权获取用户基本信息的介绍中(http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html),unionid可以在第二步(https://api.weixin.qq.com/sns/oauth2/access_token)和第四步的2个接口中获得.其中,第四步的接口是…
这篇文章主要用于记录本人亲身经历过的Unity发布到IOS平台所遇到的所有坑(其实也就是一些自己并不明白的强制设定),以便于后续再有类似需求时少走些弯路. 我的环境: Unity 5.2.2 个人版(破解版) macOS Sierra 10.12.1 Xcode 8.2 iPhone 6S真机一台 以上只是我的个人环境,如果因为unity的版本不同或是mac的版本不同,或是xcode的版本不同,很可能会遇到一些未知的坑,这里我也不可能把所有坑都踩一遍了,所以只能看个人的运气如何了,运气好一次就能…
ubuntu 下安装docker 踩坑记录 # Setp : 移除旧版本Docker sudo apt-get remove docker docker-engine docker.io # Step : 安装必要的一些系统工具 sudo apt-get update sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common # Step : 安装GPG证书 curl -…
0.写在前面的话 好久没写博客了,诶,好多时候偷懒直接就抓网上的资料丢笔记里了,也就没有自己提炼,偷懒偷懒.然后最近参加了一个网络课程,要交作业的那种,为了能方便看下其他同学的作业,就写了个爬虫把作业爬下来,进而想到如果以后还有类似这种情况,我需要一个非常轻量化的架子,但是权限依然是必须要用到的,否则写个接口人人都可以调用那还得了,但是我仅仅需要一个人或者一两个人的权限配置就可以了,所以像之前我写过一个基于RBAC的架子甚至都还是有点嫌重(而且那个架子还没有前端页面,哈,真是懒),所以想到了用s…
你真的了解字典(Dictionary)吗?   从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面的那条线路称为线路1,下面的称为线路2. 思路1 先判断线路1的第一个节点的下级节点是否是线路2的第一个节点,如果不是,再判断是不是线路2的第二个,如果也不是,判断是不是第三个节点,一直到最后一个.如果第一轮没找到,再按以上思路处理线路一的第二个节点,第三个,第四个... 找到为止.时间复杂度n2,…
   最近因为要做一个title压缩的任务,所以调研了一些text summary的方法.    text summary 一般分为抽取式和生成式两种.前者一般是从原始的文本中抽取出重要的word or sentence,然后按照一定的语法或者句法进行组合,从而对原始的文本进行压缩.再文本摘要的早期,基本都是这个思路,代表性的方法是textrank.所谓生成式的方法,就是试图让机器理解原始的文本,从而自己归纳出原始文本的摘要,给出的结果(词语或者句子)可能是原始文本中没有出现过的,这也是其与抽取…
Spring boot +Spring Security + Thymeleaf认证失败返回错误信息踩坑记录 步入8102年,现在企业开发追求快速,Springboot以多种优秀特性引领潮流,在众多使用SpringBoot的企业中,因为SpringSecurity安全框架由于其与spring框架无缝衔接等优秀特性被使用,这里记录一下使用这两个框架以及Thymeleaf模板过程中遇到的一些坑 记录时间:2018.11.30 本人环境: OS:windows 10 JDK:1.8 IDE:Intel…
IDFA踩坑记录: 1.iOS10.0 以下,即使打开“限制广告跟踪”,依然可以读取idfa: 2.打开“限制广告跟踪”,然后再关闭“限制广告跟踪”,idfa会改变: 3.越狱机器安装开发证书打的包,读取的idfa正常: 4.越狱机器安装本地打的发布证书的包,读取idfa异常,第一次打开app读取的是一个错误的idfa,第二次打开会变成另外一个错误的idfa: 5.越狱机器安装Testflight的包,读取idfa异常,第一次打开app读取的是一个错误的idfa,第二次打开会变成另外一个错误的i…
前言 突然想玩玩python了^_^ 这篇博文记录了我打算发布包到pypi的踩坑经历.python更新太快了,甚至连这种发布上传机制都在不断的更新,这导致网上的一些关于python发布上传到pypi的教程都过时了,按着博文操作会失败,所以请记住,我这篇博文的介绍也许在你看到时也过时了^_^ pypi相关概念介绍 关于pypi本身 pypi是专门用于存放第三方python包的地方,你可以在这里找别人分享的模块,也可以自己分享模块给别人.可以通过easy_install或者pip进行安装.pypi针…
使用Windows下的git工具往github上传代码 踩坑记录 背景 由于以前接触的项目都是通过svn进行版本控制,现在公司项目使用git,加上自己平时有一个练手小项目,趁着周末试着把项目上传到自己的github上做个管理,也当熟悉下git的操作,虽然是简单的操作,因为一直不太熟,所以还是花费了些功夫,其中的一些注意点做个记录. 第一步 下载git 这里由于是windows下的操作,所以下载的是windows版本的git: 网址是 https://gitforwindows.org 第二部 创…
Unity AssetBundle 踩坑记录 editor 下选择什么平台的 ab 加载 Material doesn't have a color property '_Color' UnityEditor.DockArea:OnGUI() Material doesn't have a float or range property 'PixelSnap' UnityEditor.DockArea:OnGUI() 因为editor模式下所有的 platform ab 都是可以用的 并且打 a…
VUE使用微信分享SDK(附踩坑记录) 微信分享官方文档 安装JS-SDK npm i -S weixin-jsapi 引入包 ES5 写法 const wx = require('weixin-jsapi') ES6 写法 import wx from 'weixin-jsapi' 使用 完整版 $.ajax({ url: 'https://*******/auth/jsapisignature', type: 'Get', async: false, dataType: 'jsonp', j…