随笔分类 -  mysql

摘要:最近看到"八怪"写的《MySQL:产生大量小relay log的故障一例》,因之前也遇到类似的情况,一直没搞懂原理及复现,看完此文章后,本着实践是检验真理的唯一标准的原则,决定自己也手动模拟一番,加深印象。 其中的模拟步骤与原文中不一致,感兴趣的小伙伴也可以自己动手模拟。 1. 案例模拟 原理啥的原 阅读全文
posted @ 2019-10-22 16:09 耿小厨 阅读(582) 评论(0) 推荐(0)
摘要:早上刚睁眼,看到了一堆数据库告警的短信,其中一个内容如下: 眼看这是刚从其他DBA交接过来的数据库,不敢怠慢,立马起来查看从库日志信息如下: 即非正常停止。 再登录主库机器查看主库错误日志,信息如下 从主库日志可以看出,2个从库是主库主动断开的,而给出的信息也指出了原因failed on flush 阅读全文
posted @ 2019-10-12 09:52 耿小厨 阅读(1848) 评论(0) 推荐(0)
摘要:1. 连接方式 1.1 方式1 此方法默认采用root@localhost用户登录, 1.2 方式2 1.3 方式3 此方式的用户和方式2的不同,如下 root@localhost 和root@'127.0.0.1'是不同的用户 1.4 方式4 此方式和方法1 及方法2用户相同,如下 1.5 方式5 阅读全文
posted @ 2019-09-10 09:27 耿小厨 阅读(5379) 评论(0) 推荐(0)
摘要:俗话说,没有监控的系统就是在裸奔,好的监控就是运维人员的第三只手,第三只眼。本文将使用prometheus及Grafana搭建一套监控系统来监控主机及数据库(MySQL、Redis)。 1. 安装Grafana Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能 阅读全文
posted @ 2019-08-27 13:38 耿小厨 阅读(5795) 评论(0) 推荐(0)
摘要:1. 啥情况呀 测试环境机器磁盘空间不足的告警打破了下午的沉寂,一群人开始忙活着删数据。但是,不久前刚清理了一波数据,测试环境在没做压测的情况下不至于短短一个月不到就涨了200G数据,于是,我悄悄的进入数据目录下,发现一个不寻常的点,ibtmp1文件有192G 2. 怎么处理 2.1 简单说明 ib 阅读全文
posted @ 2019-08-15 16:45 耿小厨 阅读(14410) 评论(0) 推荐(3)
摘要:近期,测试环境出现了一次MySQL数据库不断自动重启的问题,导致的原因是强行kill -9 杀掉数据库进程导致,报错信息如下: 1. 初探过程 之前出现过类似的情况时,是因为内存不足,因日志中也有对应的提示: 此测试环境物理内存确实不大,且剩余内存也不足,而且是作为另一个测试环境的从库,内存分配的也 阅读全文
posted @ 2019-07-27 10:24 耿小厨 阅读(4736) 评论(0) 推荐(0)
摘要:今天巡检时突然发现有很多锁等待超时的情况,原以为是一个简单的小事,一查,结果令人深思。 1. 问题现象 发现日志中出现了大量的 ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction 错误 2. 排查过程 阅读全文
posted @ 2019-07-24 20:58 耿小厨 阅读(4417) 评论(0) 推荐(0)
摘要:每天都在跟 mysql 打交道,你知道执行一条简单的 select 语句,都经历了哪些过程吗? 首先,mysql 主要是由 server 层和存储层两部分构成的。server 层主要包括连接器、查询缓存,分析器、优化器、执行器。存储层主要是用来存储和查询数据的,常用的存储引擎有 InnoDB、MyI 阅读全文
posted @ 2019-07-22 20:54 耿小厨 阅读(1207) 评论(0) 推荐(0)
摘要:MySQL8.0已经发布GA版,当前最新GA版本为8.0.12。虽然相对于之前版本,MySQL8.0没有加入新元素,但是,经过代码重构,MySQL8.0的优化器更加强大,同时也有一些新特性,如支持索引隐藏等。 但是,MySQL新版本中也有很多与先前版本不一样的地方,比如在用户创建上就有很多变化。 1 阅读全文
posted @ 2018-09-20 15:16 耿小厨 阅读(31660) 评论(0) 推荐(1)
摘要:因生产环境mysql中有较多复杂sql且运行效率低,因此采用tidb作为生产环境的从库进行部分慢sql及报表的读写分离。其中MySQL至TIDB采用Syncer工具同步。关于TIDB的安装及Syncer可参照官网指引进行,搭建的主从复制架构如下: 因该方式中TiDB的数据是通过Syncer同步的,且 阅读全文
posted @ 2018-09-19 16:25 耿小厨 阅读(1172) 评论(0) 推荐(0)
摘要:如果配置了MySQL半同步复制,可以在主库查询半同步状态,命令为: 参数说明 Rpl_semi_sync_master_clients # 半同步复制客户端的个数 Rpl_semi_sync_master_net_avg_wait_time #平均等待时间(默认毫秒) Rpl_semi_sync_m 阅读全文
posted @ 2018-08-07 09:46 耿小厨 阅读(2399) 评论(0) 推荐(0)
摘要:今天生产环境上从库出现SQL进程停止的异常,错误信息如下: 从报错信息可以看出,是因为slave_pending_jobs_size_max的大小小于当前需要执行事件所需的内存大小。经查看,slave_pending_jobs_size_max的大小设置的是默认值16777216(即16M),小于1 阅读全文
posted @ 2018-07-06 10:05 耿小厨 阅读(4763) 评论(0) 推荐(0)
摘要:MySQL5.6加入了GTID的新特性,其全称是Global Transaction Identifier,可简化MySQL的主从切换以及Failover。GTID用于在binlog中唯一标识一个事务。当事务提交时,MySQL Server在写binlog的时候,会先写一个特殊的Binlog Eve 阅读全文
posted @ 2018-07-04 13:26 耿小厨 阅读(732) 评论(0) 推荐(0)
摘要:MySQL InnoDB引擎的表通过拷贝物理文件来进行单表或指定表的复制,可以想到多种方式,今天测试其中2种: 将innodb引擎的表修改为Myisam引擎,然后拷贝物理文件 直接拷贝innodb的表空间文件(前提是独立表空间(默认,通过show variables like 'innodb_fil 阅读全文
posted @ 2018-07-03 11:15 耿小厨 阅读(5790) 评论(1) 推荐(1)
摘要:很多时候需要用到连续的id进行数据对比,如判断是否连续等问题。那么,生成连续整数的方式有多种,首先容易想到的是逐步循环,如果想生成1kw条记录,则需要循环1kw次进行插入,那么有没有其他方式呢,效率相对于逐步加一有多少提升呢。带此疑问,我们进行一番测试。 提前创建一张存放记录的表 1. 使用逐步+1 阅读全文
posted @ 2018-06-27 15:08 耿小厨 阅读(1015) 评论(0) 推荐(0)
摘要:很多时候DBA需要导出部分记录至开发、测试环境,因数据量需求较小,如果原库的记录多,且表数量也多,在用mysqldump命令导出时可以添加一个where参数,自定义导出n条记录,而不必全量导出。 示例脚本如下: 导出dbname库每张表的1000条记录 /usr/local/mysql5.7/bin 阅读全文
posted @ 2018-06-22 14:30 耿小厨 阅读(262) 评论(0) 推荐(0)
摘要:MySQL wait_timeout参数修改问题,可能经常会有DBA遇到过,下面就试验一下并看看会有什么现象。 wait_timeout分为global级及session级别,如未进行配置,默认值为28800,即8小时。 session级(session关键字可省略) global级 此处省略对gl 阅读全文
posted @ 2018-06-21 11:12 耿小厨 阅读(7949) 评论(0) 推荐(1)
摘要:Tips: 关于MySQL版本选择、官网下载地址、相关系统配置等操作可以参照之前的博文,本文就不在赘述咯。 https://www.cnblogs.com/gjc592/p/9198323.html 本次进行MySQL5.7版本的安装,下面直奔主题,进行相关安装工作。 总体安装步骤概述如下: 操作系 阅读全文
posted @ 2018-06-20 14:48 耿小厨 阅读(1207) 评论(0) 推荐(1)
摘要:MySQL的配置文件需要根据版本及实际情况进行相应配置,本人使用的是Percona版本,主要是用到线程池等功能,所以选择Percona版本,配置文件内容如下,大部分参数信息我参考了相关资料做了说明,如有不当之处欢迎大家来指正。 [mysqld]############################ 阅读全文
posted @ 2018-06-20 10:16 耿小厨 阅读(1429) 评论(0) 推荐(0)
摘要:一、MySQL版本的选择 推荐选择MySQL官方版本,且选择MySQL5.6以后的版本。 如选择Percona版本(例如5.6版本使用线程池等),但在5.6版本以后,官方版MySQL集成了Percon之前的优化。 不建议选择MariaDB:无INNODB;且核心代码较老 MySQL在5.6以后不断重 阅读全文
posted @ 2018-06-19 14:07 耿小厨 阅读(6023) 评论(0) 推荐(0)

微信公众号: 数据库干货铺