MySQL Status Uptime 数据库状态作用意思及如何正确
本站中文解释
:MySQL 服务器已经运行的时间(以秒为单位)。
Threads_connected:当前连接服务器的客户端的数量。
Threads_running:当前正在执行查询的线程的数量。
Questions:所有客户端执行的查询的总数。
Queries/sec:每秒执行的查询数量(Questions / Uptime)
Slow_queries:超过long_query_time设置的查询的数量。
Open_tables:目前服务器打开的表数量。
Opened_tables:打开表的次数。
Table_locks_waited:因为意外而无法锁定表而等待数次。
Open_files:当前打开的文件的数量(用于判断open_files_limit配置项)
Flush_tables:发生FLUSH TABLES操作数。
Key_read_requests:请求读取键的次数。
Key_reads:必须读取表以查询键的次数。
Key_write_requests:请求写入键的次数。
Key_writes:实际写入次数,用来制表进行统计。
Bytes_received:从客户接收的字节数。
Bytes_sent:给客户发送的字节数。
MySQL的status变量多用于性能检测,可以帮助DBA迅速掌握MySQL服务器的运行情况。可以通过SHOW GLOBAL STATUS 命令来查看系统状态变量。Status变量是为了统计MySQL服务器运行情况而保存的信息,属于状态性变量,及时更新信息,检测MySQL服务器性能非常重要。
设置方法:
MySQL的Status变量基本上是只读的,但是也有一些可以设置的变量,需要使用“SET GLOBAL变量名=变量值”来设置。除此之外,我们还可以在启动时,作为MySQL的启动参数来设置。
比如,可以使用–long-query-time参数来设置慢查询的阈值。–long-query-time=秒,默认值是10,表示Queries超过10秒的查询属于慢查询,将被记录在slow_queries变量中。
根据自身需要,我们也可以自定义变量,对其性能进行诊断。比如,可以使用下面的命令来定义一个性能测量的变量:
SET GLOBAL perf_timer_start=now();
之后,可以使用如下函数返回所自定义变量perf_timer_start的值
SELECT NOW()-perf_timer_start;
这样,服务器就会返回一个当前时刻自perf_timer_start变量定义之后所经过的时间变化,这就给了我们一个推断服务器性能的数据依据,从而对服务器进行合理的排查。