知识梳理Mysql篇(三)

发布在 数据库

前言

该篇文章主要接着《知识梳理Mysql篇(二)》的题干把剩下的内容补充完整。

日志

Mysql中日志主要有以下几种BinLog、SlowLog、RelayLog、RedoLog(Innodb)、UndoLog(Innodb)。下面通过表格大致描述各个日志的作用:

日志类型 作用
BinLog BinLog日志是Mysql Server层实现的日志,其作用主要是实现主从复制以及备份恢复。其格式有三种STATEMENT、ROW、MIXED。
SlowLog SlowLog主要是记录慢SQL,平常我们需要时需要看下slow_query_log是否开启。
RelayLog RelayLog(中继日志)主要用在主从复制中,IO线程将主库的BinLog写入RelayLog之后SQL线程执行RelayLog里的语句
RedoLog RedoLog主要是用在Mysql断电等故障修复
UndoLog UndoLog主要用在事务回滚以及MVCC机制上
阅读全文

前言

前言先听我唠个嗑,为什么要搭建这套监控体系呢,因为公司的服务器目前部署在阿里云服务器上,ECS虽然有CPU监控、带宽的监控但是对涉及到应用的Mysql、nginx、Api并没有监控,所以才打算搭建这套监控体系。如果问为什么不把数据库放在阿里云的RDS上,这里说明下原因,因为阿里云RDS目前不支持Myisam的引擎,但是我们业务中又用到所以没办法。

配置

以下是该组合的docker-composer.yml的配置,因为prometheus也是第一次玩,里面的一些报警规则还不是很了解,所以就简单的贴一个该组合下的prometheus.yml。
阅读全文

记一次队列阻塞的排查历程

发布在 运维

开头

开头讲下为什么要记录这次排查历程呢?因为这个问题折腾了我很久,折腾了好几天也尝试过问一些技术的朋友、google查找相对应的资料、包括Stack Overflow上发贴求助、像阿里云发工单,最后运气比较好还是跟另一个同事最后找到了答案。过程比较久,对自己的影响也比较深刻想记录一下。
阅读全文

为什么要搭建NFS服务

在分布式服务中,我们的应用可能是集群部署的拥有ServerA、ServerB甚至ServerC。当用户访问一个图片时,他可能通过Load Balance访问到ServerA,但是如果这张图片不在ServerA上而在ServerB上的话不就报错了吗(404 Not Found)?这时你肯定想安静的敲代码不想被产品经理或者你的上司烦恼,这时聪明的程序员就知道该马上想解决方案了。我一开始的想法是保持Server A和Server B的文件保持一个增量同步(我只有2台服务器)然后我就通过Sersync+rsync实现了我的想法(Sersync+rsync的部署可能会开篇文章来说),但是这样一来2边的服务器都保存了图片万一哪天服务挂了我却不知道怎么办,还要对比一下差异保证两边同步想想都头疼,所以最后我又搭了一个NFS服务(Network File System)下面就讲一下部署的流程。当然,肯定也有人会问直接把图片统一存云上就好啦,话是这么说,但是我们有些业务是需要操作本地的图片,比如调用些gd库之类的。
阅读全文

用scrapy写一个简单的爬虫

发布在 爬虫

爬取豆瓣Top250的电影

即上次发的《简单聊聊scrapy》这次要写一些具体操作啦!首现当然是要创建一个projectscrapy startproject doubantop。执行完命令之后就会看到项目文件夹,下面就讲几个比较重要的文件。settings.py是这个项目的配置文件,里面包含了User_Agent、Cookie、还有一些中间件的配置、还可以自己写入一些配置比如mysql的的配置(主要是因为我用的是mysql,有兴趣的话可以用mongodb)。pipelines.py是对spider解析后的数据进行插入数据库等等操作的地方。middlewares.py可以自己定义一些中间件处理user_agent和header等等。最后spider目录下就是要写具体的spider啦!下面我们看下代码,代码中有相应的注释。
阅读全文

作者的图片

晨晨晨晨晨晨🐼

凛冬散尽,待春拂面,星河长明。


Java开发者、PHP开发者、DevOps爱好者


杭州,中国🇨🇳