zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

如何正确查询MySQL的启动和关闭时间?

2023-03-14 09:35:09 时间

一、概述

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

二、Mysql的启动时间

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

SELECT NOW() - INTERVAL variable_value SECOND MySQL_Started
FROM performance_schema.global_status
WHERE variable_name='Uptime';

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

SELECT NOW() - INTERVAL variable_value SECOND MySQL_Started
FROM information_schema.global_status
WHERE variable_name='Uptime';

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

方法1 : Search the Error Log

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

grep "Shutdown complete$" error.log | tail -1 | awk '{print $1,$2}'
This will produce the date (YYMMDD) and time (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/mysql
ls -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 上次执行任何类型的写入,无论是完全关闭还是崩溃。