一、概述

在MySQL数据库的管理和维护过程中,由于某些原因,我们需要查询MySQL的服务的启动和关闭时间,那如何查询MySQL的启动和关闭时间呢?今天分享几个简单的方法。

二、Mysql的启动时间

对于运行mysql5.7的版本,请执行如下命令:

SELECTNOW() -INTERVALvariable_valueSECONDMySQL_StartedFROMperformance_schema.global_statusWHEREvariable_name='Uptime';

对于任何运行 MySQL 5.6 及之前版本或 MySQL 5.6 兼容模式下的 MySQL 5.7 的用户:

SELECTNOW() -INTERVALvariable_valueSECONDMySQL_StartedFROMinformation_schema.global_statusWHEREvariable_name='Uptime';

三、四个查询MySQL何时关闭的方法

方法1 : Search the Error Log

如果错误日志称为 error.log,请运行如下命令:

grep"Shutdown complete$"error.log|tail-1|awk'{print $1,$2}'Thiswillproducethedate (YYMMDD) andtime (HH:MM:SS)

方法2 : InnoDB Buffer Pool

如果您配置了innodb_buffer_pool_dump_at_shutdown,请查找已写入文件的时间戳。默认文件名是 ib_buffer_pool。 控制InnoDB缓冲池分配在MySQL(5.7+)ib_buffer_pool通常写在datadir设置的文件夹中,关机后可以运行以下命令:

cd/var/lib/mysqlls-l--time-style=+"%Y-%m-%d %H:%M:%S"ib_buffer_pool|awk'{print $6,$7}'

方法3 : Binary Logging

如果 mysql 启用了二进制日志,则获取关闭后最后一个二进制日志的时间。

方法4 : Error Log

您可能会说:”我不想查看错误日志!”,你不必。只需在关机完成后获取错误日志的时间戳即可。

说明

如果 mysqld 崩溃,方法 1 对您没有任何好处。其他三 3 种方法将简单地告诉您 mysqld 上次执行任何类型的写入,无论是完全关闭还是崩溃。