摘要:
mysqlfrm可基于frm文件生成对应的表结构。常用于数据恢复场景。 其有两种操作模式。 1. 创建一个临时实例来解析frm文件。 2. 使用诊断模式解析frm文件。 以下表进行测试,看看, 1. mysqlfrm解析的结果与原生表结构的区别。 2. 两种操作模式解析结果的不同。 首先看看第一种操 阅读全文
摘要:
前段时间,将线上MySQL数据库升级到了5.7。考虑到可能产生的不兼容性,在升级之前,确实也是战战兢兢,虽然测试环境,开发环境早在半年前就已提前升级。 基于前期的调研和朋友的反馈,与开发相关的主要有两点: sql_mode MySQL 5.6中,其默认值为"NO_ENGINE_SU BSTITUTI 阅读全文
摘要:
一直以来,对于MySQL root密码的忘记,以为只有一种解法-skip-grant-tables。 问了下群里的大咖,第一反应也是skip-grant-tables。通过搜索引擎简单搜索了下,无论是百度,抑或Google,只要是用中文搜索,首页都是这种解法。可见这种解法在某种程度上已经占据了使用者 阅读全文
摘要:
自增主键没有持久化是个比较早的bug,这点从其在官方bug网站的id号也可看出(https://bugs.mysql.com/bug.php?id=199)。由Peter Zaitsev(现Percona CEO)于2003年提出。历史悠久且臭名昭著。 首先,直观的重现下。 虽然id为3的记录删除了 阅读全文
摘要:
MySQL 8.0终于支持降序索引了。其实,从语法上,MySQL 4就支持了,但正如官方文档所言,"they are parsed but ignored",实际创建的还是升序索引。 无图无真相,同一个建表语句,看看MySQL 5.7和8.0的区别。 create table slowtech.t1 阅读全文
摘要:
在8之前的版本中,对于全局变量的修改,其只会影响其内存值,而不会持久化到配置文件中。数据库重启,又会恢复成修改前的值。从8开始,可通过SET PERSIST命令将全局变量的修改持久化到配置文件中。 试举一例 全局变量的修改会保存在两处, 1. 数据目录下mysqld-auto.cnf文件, 注意,不 阅读全文
摘要:
背景 索引是把双刃剑,在提升查询速度的同时会减慢DML的操作。毕竟,索引的维护需要一定的成本。所以,对于索引,要加上该加的,删除无用的。前者是加法,后者是减法。但在实际工作中,大家似乎更热衷于前者,而很少进行后者。究其原因,在于后者,难。难的不是操作本身,而是如何确认一个索引是无用的。 如何确认无用 阅读全文
摘要:
pt-align的功能很简单,将其它工具的输出按列对其。 用法: pt-align [FILES] 如果没有指定文件,则默认读取标准输入的内容。 如,常用的vmstat的输出,阅读体验就不够人性化。 在这种情况下,就可以使用pt-align进行处理 阅读全文
摘要:
1. 时间类型转换为字符串类型 now := time.Now() fmt.Println(now.Format("2006-01-02 03:04:05 PM")) yesterday := time.Now().AddDate(0,0,-1).Format("2006-01-02") 2. go 阅读全文
摘要:
1. 使用supervisorctl时报“http://localhost:9001 refused connection”错误 解决方法:使用supervisorctl时指定配置文件 # supervisorctl -c /etc/supervisor.conf 2. 重启supervisord 阅读全文
摘要:
集群信息 角色 IP地址 ServerID 类型 Master 192.168.244.10 1 写入 Candicate master 192.168.244.20 2 读 Slave 192.168.244.30 3 读 Monitor host 192.168.244.40 监控集群组 MHA 阅读全文
摘要:
在日常工作中,会碰到如下的场景,如mysql数据库升级,主服务器硬件升级等,这个时候就需要将写操作切换到另外一台服务器上,那么如何进行在线切换呢?同时,要求切换过程短,对业务的影响比较小。 MHA就提供了这样一种优雅的方式,只会堵塞业务0.5~2s的时间,在这段时间内,业务无法读取和写入。 集群信息 阅读全文
摘要:
MHA(Master High Availability)是一套相对成熟的MySQL高可用方案,能做到在0~30s内自动完成数据库的故障切换操作,在master服务器不宕机的情况下,基本能保证数据的一致性。 它由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)。其中,MH 阅读全文
摘要:
很多童鞋在启动mysql的时候,碰到过这个错误, 首先,澄清一点,出现这个错误的前提是:通过服务脚本来启动mysql。通过mysqld_safe或mysqld启动mysql实例并不会报这个错误。 那么,出现这个错误的原因具体是什么呢? 哈哈,对分析过程不care的童鞋可直接跳到文末的总结部分~ 总结 阅读全文
摘要:
本文是对MongoDB副本集常用操作的一个汇总,同时也穿插着介绍了操作背后的原理及注意点。 结合之前的文章:MongoDB副本集的搭建,大家可以在较短的时间内熟悉MongoDB的搭建和管理。 下面的操作主要分为两个部分: 1. 修改节点状态 主要包括: 1> 将Primary节点降级为Seconda 阅读全文