编辑个人资料
的动态
发表了文章

MySQL容器部署及数据持久化(主从复制)

运维经常要和数据库打交道,尤其是MySQL,以前的方式是在本机装个MySQL或者MySQL主从复制架构用于本地调试,但有了docker以后就不需要再去繁琐的安装MySQL啦(虽然安装MySQL也不是很麻烦),直接在docker中启几个MySQL容器就可以自动建立主从复制关系了。

发表了文章

MySQL Prometheus监控炫酷部署

开源的系统监控和报警工具,监控项目的流量、内存量、负载量等实时数据。它通过直接或短时jobs中介收集监控数据,在本地存储所有收集到的数据,并且通过定义好的rules产生新的时间序列数据,或发送警报。通过其它api可以将采集到的数据可视化。使用 prometheus 监控服务器系统及 MySQL 数据库系统,基础监控,后续会持续更新!

发表了文章

MySQL二进制日志binlog_row_image参数说明

相信大家都了解mysql binlog的格式,那就是有三种,分别是`STATEMENT`,`MiXED`,`ROW`。各有优劣,具体的请大家自行查阅资料。在MySQL 5.7版本以前,虽然ROW格式有各种各样的好处。

发起了冒泡:

本期活动中奖名单:
QQ:3419524626
QQ:516094788
QQ:501944235
答案:
1、主从复制架构两个角色节点是如何确定延迟时间的?
a. 通过 show slave status 提供的 Seconds_Behind_Master来观测主从复制之间的延迟情况
b. Seconds_Behind_Master 该字段记录的是当从库IO和SQL线程正常运行时,从库当前服务器主机的时间戳 与 主库发送过来的binlog日志(relay log)中记录的时间戳的差异。
c. 从库服务器时间戳 – 从库SQL线程正在执行的event的时间戳 – 主库与从库之间的时间差(该时间差只会在从库I/O线程启动时计算一次,每次重启I/O线程时该值会重新计算)
2、如果在建立主从复制前两个服务器系统时间不一样会产生什么效果?
a. 在复制中不会产生什么效果,因为在从库 IO 启动时会把主库与从库时间差给减去,所以对复制延迟无其他影响
b. 如果 binlog 为 statement 模式,那么对一些时间函数就会有一定的影响,比如 now()
3、主从复制中,是从库拉取 binlog ,还是主库推送 binlog 日志?
a. 从库把已经接收、执行、正在执行的事务GTID集合发送给主库
b. 主库检查从库发送的GTID集合是否是主库已经应用过的( 主库 gtid_executed 的子集 )
c. 如果正常,主库启动 dump 线程推送日志到从库 IO线程,结果:主库 dump 线程主动推送日志到从库
4、如何模拟主从复制延迟,大致步骤应该是什么?
a. 设置 master_delay 参数可以设置延迟时间
b. 主库执行了一个大事务,从库回放自然会有一定的延迟,毕竟需要主库执行完,并且把binlog发送到从库才可以,这个时间就是会产生延迟的
c. 主库大从库的网络较差,dump线程与IO线程传输binlog延迟( 临时阻塞网络 )
d. 还要一种假象延迟,在主从复制通道建立后,修改从库系统时间为1小时候,然后就会出现一直假象延迟,SQL线程状态是等待 IO 线程更新 binlog,不过Seconds_Behind_Master参数显示延迟几百或几千秒,这种就是假象的延迟。
e. 当然还有很多导致延迟的因素,本次不做一一举例了。

发表了文章

MySQL SQL审计平台部署

数据库审计(简称DBAudit)能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断。它通过对用户访问数据库行为的记录、分析和汇报,用来帮助用户事后生成合规报告、事故追根溯源,同时加强内外部数据库网络行为记录,提高数据资产安全。

发表了文章

MySQL dump备份时MySQL到底做了什么?

一、先决条件 备份时使用的mysqldump命令 mysqldump -uroot -p -S /data/mysql/data/3308/mysqld.sock -B testdb -R --triggers --routines --master-data=2 ...

发表了文章

MySQL pt-archive数据归档批量与非批量性能对比

一、数据批量归档与非批量归档性能对比 pt-archive使用批量与非批量模式归档 10 万条数据,对比两种方式性能。 1. 非批量归档数据 # pt-archiver --source h=...

发表了文章

MySQL DQL多表链接查询基本使用

多表查询思路: join 是 inner join 简写 1.数据来自多张表,优先想到多表连接join ON 2.关联表写join两端 3.on条件写两表的关联列 4.所有查询条件select后,...

发表了文章

MySQL 服务器上线检查流程

1. 操作系统磁盘分区 挂节点 分区类型 大小 用处 /data xfs 根据实际情况而定 数据文件使用 2. 主机常用软件检测 systat 包提供了常用的iostat,mpstat,sar...

发表了文章

MySQL mysqldump备份阻塞发现大量连接堆积

客户让我对他们D3业务的一个两台在线数据库的数据进行迁移到离线库,数据总大小约1TB,沟通后也可以用mysqldump逻辑备份这么干,毕竟这是事情不着急,同时mysqldump也不像网上人说的很消耗资源导致CPU飙升处理不及时产生慢SQL语句,最后导致大量连接堆积。

发表了文章

MySQL写入缓冲区在数据库中的作用( Change Buffer )

介绍另外一种重要的数据变更日志,也就是InnoDB change buffer。 Change buffer的主要目的是将对二级索引的数据操作缓存下来,以此减少二级索引的随机IO,并达到操作合并的效果。

发表了文章

MySQL性能半同步复制VS异步复制

MySQL复制模式对比啦。都说半同步复制比异步复制性能慢了好多,为什么当前测试却差距这么小呢?。说一千道一万,那到底使用半同步复制好还是使用异步复制好呢?

发表了文章

Redis2.4.17停机升级2.8.19操作(模拟百万数据)

redis停机升级,手动 bgrewriteaof` 触发AOF重写会不会产生问题,需不需要注意些什么?数据需要保留,是否向上兼容呢?