一、概述
在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 上次执行任何类型的写入,无论是完全关闭还是崩溃。