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