如何确定导致 MySQL(Percona 服务器)在 Linux 上崩溃的原因

如何确定导致 MySQL(Percona 服务器)在 Linux 上崩溃的原因

我正在运行 Percona 版本的 MySQL Server v5.6,每隔几天 MySQL 似乎就会崩溃,然后自动重启。我该如何找出崩溃的原因?我见过其他人在使用 MySQL 时意外停止,这似乎是由于内存问题,但在他们的情况下,错误日志提到了这一点。就我而言,在实际重新启动之前,日志文件中没有任何内容出现。

我将相关日志文件包含在下方,其中包含最后一个“预期”错误以及 MySQL 重新启动时记录的内容。它包含崩溃前的各种“将不安全的语句写入二进制日志”警告,但我不认为它们是崩溃的原因。(我将很快更新这些语句,以不使用构造来ON DUPLICATE KEY阻止它们,从而防止日志填满。我还应该提到,我不进行复制,这就是为什么我认为它们目前不太重要。)

该服务器是在虚拟机(Virtuozzo)上运行的 64 位 Centos 6.6。

希望有人能给我指出正确的方向,确定导致崩溃的原因。谢谢!

日志文件如下:

2018-03-19 08:39:51 21476 [警告] 由于 BINLOG_FORMAT = STATEMENT,使用语句格式将不安全的语句写入二进制日志。在具有多个 UNIQUE KEY 的表上执行 INSERT... ON DUPLICATE KEY UPDATE 是不安全的语句:INSERT INTO xxxx ON DUPLICATE KEY UPDATE xxxx
180319 08:39:52 mysqld_safe 当前正在运行的进程数:0
180319 08:39:52 mysqld_safe mysqld 重新启动
2018-03-19 08:39:53 0 [警告] 具有隐式 DEFAULT 值的 TIMESTAMP 已弃用。请使用 --explicit_defaults_for_timestamp 服务器选项(有关更多详细信息,请参阅文档)。
2018-03-19 08:39:53 20217 [警告] 使用唯一选项前缀 myisam-recover 代替 myisam-recover-options 已被弃用,并将在将来的版本中删除。请使用全名。
2018-03-19 08:39:53 20217 [注意] 插件‘FEDERATED’已被禁用。
2018-03-19 08:39:53 20217 [注意] InnoDB:使用原子引用计数缓冲池页面
2018-03-19 08:39:53 20217 [注意] InnoDB: InnoDB内存堆已禁用
2018-03-19 08:39:53 20217 [注意] InnoDB: 互斥锁和 rw_locks 使用 GCC 原子内置函数
2018-03-19 08:39:53 20217 [注意] InnoDB:未使用内存屏障
2018-03-19 08:39:53 20217 [注意] InnoDB:压缩表使用zlib 1.2.3
2018-03-19 08:39:53 20217 [注意] InnoDB:使用Linux原生AIO
2018-03-19 08:39:53 20217 [注意] InnoDB:使用CPU crc32指令
2018-03-19 08:39:53 20217 [注意] InnoDB:初始化缓冲池,大小 = 3.0G
2018-03-19 08:39:54 20217 [注意] InnoDB: 缓冲池初始化完成
2018-03-19 08:39:54 20217 [注意] InnoDB: 支持的最高文件格式是Barracuda。
2018-03-19 08:39:54 20217 [注意] InnoDB:日志扫描已超过检查点 lsn 123717382274
2018-03-19 08:39:54 20217 [注意] InnoDB:数据库未正常关闭!
2018-03-19 08:39:54 20217 [注意] InnoDB:开始崩溃恢复。
2018-03-19 08:39:54 20217 [注意] InnoDB:从.ibd 文件读取表空间信息...
2018-03-19 08:39:54 20217 [注意] InnoDB:恢复可能写入一半的数据页
2018-03-19 08:39:54 20217 [注意] InnoDB:来自双写缓冲区......
InnoDB:正在进行恢复:扫描至日志序列号 123717811056
InnoDB:事务 790235434 处于 XA 准备状态。
InnoDB:1 个事务必须回滚或清理
InnoDB:总共有 0 行操作需要撤消
InnoDB:Trx id 计数器为 790235904
2018-03-19 08:39:55 20217 [注意] InnoDB:开始将一批日志记录应用到数据库……
InnoDB:进度百分比:7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 7
InnoDB:应用批次完成
InnoDB:最后一个 MySQL binlog 文件位置 0 697177863,文件名为 mysql-bin.000227
InnoDB:在后台启动未提交事务的回滚
2018-03-19 08:39:56 20217 [注意] InnoDB:128个回滚段处于活动状态。
2018-03-19 08:39:56 7f481bd03700 InnoDB:未准备好的事务回滚已完成
2018-03-19 08:39:56 20217 [注意] InnoDB:等待清除开始
2018-03-19 08:39:56 20217 [注意] InnoDB:Percona XtraDB(http://www.percona.com)5.6.22-71.0已启动;日志序列号123717811056
2018-03-19 08:39:56 20217 [注意] 使用 /var/lib/mysql/mysql-bin 崩溃后恢复
2018-03-19 08:46:36 20217 [注意] 开始崩溃恢复...
2018-03-19 08:46:36 7f491ce677e0 InnoDB:开始 XA 事务的恢复...
2018-03-19 08:46:36 7f491ce677e0 InnoDB:事务 790235434 在恢复后处于准备状态
2018-03-19 08:46:36 7f491ce677e0 InnoDB:事务包含对 1 行的更改
2018-03-19 08:46:36 7f491ce677e0 InnoDB:恢复后有 1 个事务处于准备状态
2018-03-19 08:46:36 20217 [注意] 在 InnoDB 中发现 1 个已准备好的事务
2018-03-19 08:46:36 20217 [注意] 崩溃恢复完成。
2018-03-19 08:46:36 20217 [注意] 未找到 RSA 私钥文件:/var/lib/mysql//private_key.pem。某些身份验证插件将无法工作。
2018-03-19 08:46:36 20217 [注意] 未找到 RSA 公钥文件:/var/lib/mysql//public_key.pem。某些身份验证插件将无法工作。
2018-03-19 08:46:36 20217 [注意] 服务器主机名(绑定地址):'*';端口:3306
2018-03-19 08:46:36 20217 [注意] IPv6 可用。
2018-03-19 08:46:36 20217 [注意] - '::' 解析为 '::';
2018-03-19 08:46:36 20217 [注意] 在 IP '::' 上创建服务器套接字。
2018-03-19 08:46:37 20217 [注意] 事件调度程序:已加载 0 个事件
2018-03-19 08:46:37 20217 [注意] /usr/sbin/mysqld:已准备好连接。
版本:'5.6.22-71.0-log' 套接字:'/var/lib/mysql/mysql.sock' 端口:3306 Percona Server (GPL),版本 71.0,修订版 726
2018-03-19 08:46:38 20217 [警告] 由于 BINLOG_FORMAT = STATEMENT,使用语句格式将不安全的语句写入二进制日志。在具有多个 UNIQUE KEY 的表上执行 INSERT... ON DUPLICATE KEY UPDATE 是不安全的语句:INSERT INTO xxxx ON DUPLICATE KEY UPDATE xxxx

编辑:根据评论中@impimp 的问题,以下是/var/log/messages

3 月 18 日 04:02:22 主机名 rsyslogd:[原始软件=“rsyslogd”swVersion=“5.8.10”x-pid=“474”x-info=“http://www.rsyslog.com”] rsyslogd 已 HUP
3 月 19 日 08:39:52 HOSTNAME 内核:[103311785.405884] UB 650543 内存不足:OOM 终止进程 21476 (mysqld) 得分 0 vm:6363484kB,rss:4024500kB,交换:45536kB
3 月 20 日 09:17:35 HOSTNAME 内核:[103400050.711461] UB 650543 内存不足:OOM 终止进程 20217 (mysqld) 得分 0 vm:6382720kB,rss:4066652kB,交换:0kB

相关内容