有效收集 MySQL 的死锁信息

简单介绍 收集 MySQL 的死锁信息有什么好处? 可见的包含以下好处: 1. 死锁发生的频率; 2. 哪些库的哪些表发生死锁; 3. 事务执行了多久, 哪个事务被回退; 4. 方便排错, 可以和程序的日志相对应; MySQL 提供了两种方式可以用来查看死锁信息, 这两种方式受 innodb_print_all_deadlocks 参数的影响, 如果开启死锁信息会记录到 MySQL 的 error 日志中,...

google cloud platform(GCP) 使用问题汇总

使用了 GCP 服务一段时间后, 碰到了一些问题, 本文仅对这些问题进行简单的汇总说明, 下述的问题均以 Centos7 系统为准, 部分问题适用于所有 Linux 系统, 本文也会持续更新碰到的问题: 1. yum-cron 自动更新问题 2. 实例创建 ip 及系统分区丢失问题 3. console 登录问题 4. 公钥覆盖问题 5....

mysql-connector-java 插入 utf8mb4 字符失败问题处理分析

问题说明 业务数据库实例的编码由 utf8 修改为 utf8mb4 后, java 业务插入表情符等宽字符(4 字节)的时候一直报错以下相关的错误: ### Cause:java.sql.SQLException:Incorrect string value:\xF0\x9F\x98\x8E for column nick_name at row 1 ;uncategorized SQLException for SQL[]; SQL state...

linux 系统 bad pmd 错误处理

问题说明 近期一台主机报以下 kernel 警告信息: May 4 22:19:52 cztest kernel: mm/memory.c:413: bad pmd ffff9f1b3127e710(80000010ba8008e7) May 4 22:19:52 cztest telegraf: fatal error: s.freeindex > s.nelems May 4...

linux 系统 page allocation failure 问题处理

问题说明 近期一台主机报以下 kernel 警告信息: Apr 28 05:30:51 cztest kernel: swapper/13: page allocation failure: order:5, mode:0x4020 Apr 28 05:30:51 cztest kernel: Pid: 0, comm: swapper/13 Not...

linux 系统 rcu_bh self-detected stall 问题处理

问题说明 近期几台 linux 机器都报了以下 kernel 提示: Apr 24 21:02:09 cztest kernel: INFO: rcu_bh self-detected stall on CPU { 0} (t=0 jiffies) Apr 24 21:02:09 cztest...

linux 系统 xfs_vm_releasepage 警告问题处理

问题说明 最近的几台机器在同一天的不同时段都出现以下警告信息: Mar 26 20:55:03 host1 kernel: WARNING: at fs/xfs/xfs_aops.c:1045 xfs_vm_releasepage+0xcb/0x100 [xfs]() Mar 26 20:55:03 host1 kernel: Modules linked in: nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack iptable_filter...

TokuDB 使用问题汇总

简单介绍 TokuDB 引擎提供很好的压缩比(笔者环境中的数据在默认的 zlib 设置下压缩比大致为 InnoDB:TokuDB ~= 5:1), 以及快速增加, 删除, 重命名列, 热更索引等特性, 这些特性很适合日志记录类的表来使用, 该类表可以仅做主从复制, 不做定期的备份. 如果需要备份可以参考 AliSQLBackup, 其基于 xtrabackup-2.3.5版本, 可以同时备份 InnoDB 和 TokuDB 引擎的表. 另外innodb_buffer_pool_size...

使用 mmm-manager 管理云环境中的 MySQL 双主实例

介绍说明 在之前的工具中, mha_switch 和 mha_manager_consul 的使用都是建立在虚 ip 漂移的基础上实现的高可用方案. 不过在云环境中, 目前很多的云厂商还不支持虚 ip 漂移的功能, SLB(负载均衡)等没有类似 haproxy 的 backup 模式, 所以不适用于单 master 读写的场景. 如果使用 SLB 代理多 master, 则很难保证数据一致性问题(比如主从延迟)....

Linux 系统如何处理名称解析

简单介绍 在 Linux 系统中, 绝大多数程序依赖系统库函数来完成名称解析, 整个解析过程包含多个操作, 有些操作信息在启动程序时确定, 有些操作信息则在程序运行时确认, Linux 也提供了一些网络函数(由 glibc 提供)来控制这些操作,下图所示为一个比较典型的应用程序, 域名解析及域名服务器之间的关系图: 程序在运行后通过 glibc 提供的网络函数(gethostbyname, getaddrinfo等)来调用解析器(resolver code, 比如 nsswitch 等), 解析器则读取一些配置文件(比如 /etc/nsswitch.conf, /etc/hosts, /etc/resolv.conf)...