Category Archives: bugs-report

percona, xtrabackup, MySQL bugs description…

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

By | 2019-05-17

问题说明 业务数据库实例的编码由 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 [HY000]; error code[1366];Incorrect string value: \xF0\x9F\x98\x8E for column nick_name at row 1 程序及数据库运行的版本及环境如下所示: Centos 7.6 kernel-3.10.0-957.1.3.el7.x86_64 mysql-connector-java-5.1.46 Percona-Server-5.6.38-rel83.0-Linux 测试环境中使用同样的 mysql-connector-java 版本, 程序可以正常插入. 所不同的是测试环境修改完编码后重启了 MySQL 服务, 线上环境仅做以下修改, 重启程序而不重启 MySQL 服务: set… Read More »

linux 系统 xfs_vm_releasepage 警告问题处理

By | 2019-03-27

问题说明 最近的几台机器在同一天的不同时段都出现以下警告信息: 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 ip_tables ebtable_filter ebtables ip6table_ filter ip6_tables devlink bridge stp llc xt_multiport sunrpc dm_mirror dm_region_hash dm_log dm_mod intel_powerclamp coretemp intel_rapl iosf_mbi kvm_intel kvm irqbypa ss crc32_pclmul ghash_clmulni_intel aesni_intel lrw gf128mul glue_helper… Read More »

centos7 系统 df hang 问题处理说明

By | 2018-06-07

问题描述 近期陆续碰到几台主机 df 卡住的问题, 监控程序由于超时引起相关的警报, 系统环境和 strace df 如下所示: kernel-3.10.0-514.21.2 systemd-219-57 strace 显示卡在了 /proc/sys/fs/binfmt_misc 状态中: # strace df execve(“/usr/bin/df”, [“df”], [/* 29 vars */]) = 0 brk(0) = 0x1731000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa7720a7000 access(“/etc/ld.so.preload”, R_OK) = 0 open(“/etc/ld.so.preload”, O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=24, …}) = 0 …… stat(“/sys/fs/cgroup/memory”, {st_mode=S_IFDIR|0755, st_size=0,… Read More »

read-committed 隔离级别对 MySQL 复制的影响

By | 2017-11-24

read-committed 隔离级别对 MySQL 复制的影响 近期碰到了一个 mysql slave 正常接收 relay log, 但是不执行更新的情况, 更准确的说是不执行 row 格式的所有更新, DDL 和 statement 格式的都正常更新, 主从环境配置见下文. 环境配置 OS: CentOS release 6.7 (Final) Kernel: 2.6.32-573.18.1.el6.x86_64 MySQL: Percona-Server-5.5.33-rel31.1-566.Linux.x86_64 主从环境 使用 repl_discovery检查如下: # repl_discovery -h 10.0.21.7 -P 3308 -u monitor –askpass Enter password : +-10.0.21.7:3308 version 5.5.33-rel31.1-log server_id 2690331 has_gtid Not Support tx_isolation READ-COMMITTED binlog_enable… Read More »

free 命令显示 swap 信息异常处理

By | 2016-11-16

free 结果异常 在执行一个占用很多内存的操作后, free 命令显示的结果中, swap 的 used 远远超过 swap total 的值, free 的值也大于 total, 如下所示: # free -k total used free shared buffers cached Mem: 132110132 104895792 27214340 44 0 824716 -/+ buffers/cache: 104071076 28039056 Swap: 31439200 18014398509479232 31441952 系统环境: CentOS release 6.6 (Final) 128G mem Linux cz 2.6.32-573.3.1.el6.x86_64 为什么出现这么大的值 通过查看 free 命令的源代码说明: https://github.com/mmalecki/procps/… Read More »

memcached 整型数溢出漏洞处理说明

By | 2016-11-03

三个漏洞都是和整型溢出相关, 具体的影响及评分见 redhat cve 说明: cve-2016-8704 cve-2016-8705 cve-2016-8706 客户端使用 memcached 自有的二进制协议与 memcached server 进行交互, key 和 value 的长度被声明为 int 类型, body 长度声明为无符号整型, 部分函数执行下面任意一行代码的时候可能会引起整型溢出: vlen = c->binary_header.request.bodylen – (nkey + c->binary_header.request.extlen); int vlen = c->binary_header.request.bodylen – nkey; 整型溢出后则破坏 memcached 内部的 slab 数据结构, 这可能会引起缓存中数据的完整性, 另外也会引起 memcached 的崩溃. 测试环境中, 使用漏洞说明中的 python 代码验证后, 有很大的概率使 memcached 异常崩溃, centos 6, 7… Read More »

CVE-2016-6662 and CVE-2016-6664 MySQL 安全漏洞处理说明

By | 2016-11-02

详细信息见: bug 描述 该漏洞本质上通过系统调用 chmod u+s 来实现提权的目的, 从文章的描述来看, 影响具体分为两类: 1. 普通用户提权后可以查看删除 mysql 数据目录; 2. 普通用户提权后可以进入启动 mysqld 进程的用户环境进行各项操作; 两类影响都是通过 MySQL 在 repair table 操作时, 系统调用 stat 和 chown 之间的空隙而进行的替换实现了 chmod u+s 提权操作, 第二点比第一点更严重, 可以进行重启等操作; 漏洞的触发需要满足以下几点: 1. 可以登入本地 MySQL 主机的用户; 2. 连接的 mysql 用户具有权限 create, insert (repair 权限); 3. mysql 开启 symbolic-links 选项(可选); 可以看到重现漏洞的条件还是比较苛刻的; 当然攻击者能登录 MySQL 主机后就是另一个层次的影响;… Read More »