我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL查看数据库状态命令详细讲解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL查看数据库状态命令详细讲解

前言

数据查询语言(DQL: Data Query Language):其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其它类型的SQL语句一起使用。

show status

使用SHOW STATUS语句能够获取mysql服务器的一些状态信息,这些状态信息主要是MySQL数据库的性能参数。SHOW STATUS语句的语法格式如下:

SHOW [SESSION | GLOBAL] STATUS LIKE 'status_name';

其中,SESSION表示获取当前会话级别的性能参数,GLOBAL表示获取全局级别的性能参数,并且SESSION和GLOBAL可以省略,如果省略不写,默认为SESSION。status_name表示查询的参数值。熟练掌握这些参数的使用,能够更好地了解SQL语句的执行频率。SHOW STATUS语句支持的参数值

MySQL查看数据库状态命令详细讲解

Not_flushed_key_blocks   在键缓存中已经改变但是还没被清空到磁盘上的键块。
Not_flushed_delayed_rows

mysql> show status;
+-----------------------------------------------+--------------------------------------------------+
| Variable_name                                 | Value                                            |
+-----------------------------------------------+--------------------------------------------------+
| Aborted_clients                               | 1  由于客户没有正确关闭连接已经死掉,已经放弃的连接数量|
| Aborted_connects                              | 0  尝试已经失败的MySQL服务器的连接的次数			   |
| Binlog_cache_disk_use                         | 0  该状态表示有多少个事务使用了临时文件       		 |
| Binlog_cache_use                              | 1  有多少个事物使用了ache_size来缓存未提交的事物日志 |
| Binlog_stmt_cache_disk_use                    | 0                                                |
| Binlog_stmt_cache_use                         | 0                                                |
| Bytes_received                                | 248 从客户处已经接收到的字节数                      |
| Bytes_sent                                    | 185 已经发送给所有客户的字节数                      |
| Com_statement                                 | 0   每一个变量语句对应的次数                        |
| Connections                                   | 41472     	试图连接MySQL服务器的次数 		   |
| Created_tmp_disk_tables                       | 0   服务器执行语句时在硬盘上自动创建的临时表的数量    |
| Created_tmp_files                             | 5   mysqld创建的临时文件个数                       |
| Created_tmp_tables                            | 0      当执行语句时,已经被创造了的隐含临时表的数量	  |
| Delayed_errors                                | 0 用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数 |
| Delayed_insert_threads                        | 0      正在使用的延迟插入处理器线程的数量			  |
| Delayed_writes                                | 0          用INSERT DELAYED写入的行数     		  |
| Flush_commands                                | 17        	执行FLUSH命令的次数     			  |
| Handler_commit                                | 0      内部COMMIT命令的个数                        |
| Handler_delete                                | 0      请求从一张表中删除行的次数       			 |
| Handler_discover                              | 0 MySQL服务器可以问NDB CLUSTER存储引擎是否知道某一名字的表 |
| Handler_external_lock                         | 0                                                |
| Handler_mrr_init                              | 0                                                |
| Handler_prepare                               | 0      两阶段提交操作准备阶段的计数器               |
| Handler_read_first                            | 0      请求读入表中第一行的次数                     |
| Handler_read_key                              | 0      请求数字基于键读行                          |
| Handler_read_last                             | 0                                                |
| Handler_read_next                             | 0      请求读入基于一个键的一行的次数               |
| Handler_read_prev                             | 0      按照索引的顺序读取前面一行数据的请求的个数     |
| Handler_read_rnd                              | 0      请求读入基于一个固定位置的一行的次数          |
| Handler_read_rnd_next                         | 0      读取数据文件中下一行数据的请求的个数          |
| Handler_rollback                              | 0      内部ROLLBACK命令的数量                     |
| Handler_savepoint                             | 0      在一个存储引擎放置一个保存点的请求数量        |
| Handler_savepoint_rollback                    | 0      在一个存储引擎的要求回滚到一个保存点数目       |
| Handler_update                                | 0      请求更新表中一行的次数             		  |
| Handler_write                                 | 0      请求向表中插入一行的次数                    |
| Innodb_buffer_pool_dump_status                | Dumping of buffer pool not started               |
| Innodb_buffer_pool_load_status                | Buffer pool(s) load completed at 220224 21:04:35 |
| Innodb_buffer_pool_resize_status              |                                                  |
| Innodb_buffer_pool_pages_data                 | 32422                                            |
| Innodb_buffer_pool_bytes_data                 | 531202048                                        |
| Innodb_buffer_pool_pages_dirty                | 0                                                |
| Innodb_buffer_pool_bytes_dirty                | 0                                                |
| Innodb_buffer_pool_pages_flushed              | 235                                              |
| Innodb_buffer_pool_pages_free                 | 97929                                            |
| Innodb_buffer_pool_pages_misc                 | 705                                              |
| Innodb_buffer_pool_pages_total                | 131056                                           |
| Innodb_buffer_pool_read_ahead_rnd             | 0                                                |
| Innodb_buffer_pool_read_ahead                 | 23377                                            |
| Innodb_buffer_pool_read_ahead_evicted         | 0                                                |
| Innodb_buffer_pool_read_requests              | 330362716      InnoDB已经完成的逻辑读请求数        |
| Innodb_buffer_pool_reads                      | 9004                                             |
| Innodb_buffer_pool_wait_free                  | 0                                                |
| Innodb_buffer_pool_write_requests             | 3783                                             |
| Innodb_data_fsyncs                            | 47                                               |
| Innodb_data_pending_fsyncs                    | 0                                                |
| Innodb_data_pending_reads                     | 0                                                |
| Innodb_data_pending_writes                    | 0                                                |
| Innodb_data_read                              | 530813440                                        |
| Innodb_data_reads                             | 33379                                            |
| Innodb_data_writes                            | 279                                              |
| Innodb_data_written                           | 4193792      至此已经写入的数据量(字节)           |
| Innodb_dblwr_pages_written                    | 20                                               |
| Innodb_dblwr_writes                           | 10                                               |
| Innodb_log_waits                              | 0            我们必须等待的时间                    |
| Innodb_log_write_requests                     | 9              日志写请求数                       |
| Innodb_log_writes                             | 15            向日志文件的物理写数量               |
| Innodb_os_log_fsyncs                          | 22           向日志文件完成的fsync()写数量         |
| Innodb_os_log_pending_fsyncs                  | 0            挂起的日志文件fsync()操作数量         |
| Innodb_os_log_pending_writes                  | 0            挂起的日志文件写操作                  |
| Innodb_os_log_written                         | 12288          写入日志文件的字节数                |
| Innodb_page_size                              | 16384          编译的InnoDB页大小(默认16KB)        |
| Innodb_pages_created                          | 42                    创建的页数                  |
| Innodb_pages_read                             | 32380                 读取的页数                  |
| Innodb_pages_written                          | 235                   写入的页数                  |
| Innodb_row_lock_current_waits                 | 0               当前等待的待锁定的行数             |
| Innodb_row_lock_time                          | 0              行锁定花费的总时间,单位毫秒         |
| Innodb_row_lock_time_avg                      | 0              行锁定的平均时间,单位毫秒           |
| Innodb_row_lock_time_max                      | 0              行锁定的最长时间,单位毫秒           |
| Innodb_row_lock_waits                         | 0              一行锁定必须等待的时间数             |
| Innodb_rows_deleted                           | 6              从InnoDB表删除的行数                |
| Innodb_rows_inserted                          | 2193           插入到InnoDB表的行数                |
| Innodb_rows_read                              | 351814064      从InnoDB表读取的行数                |
| Innodb_rows_updated                           | 0              InnoDB表内更新的行数                |
| Innodb_num_open_files                         | 136                                              |
| Innodb_truncated_status_writes                | 0                                                |
| Innodb_available_undo_logs                    | 128                                              |
| Key_blocks_not_flushed                        | 0  键缓存内已经更改但还没有清空到硬盘上的键的数据块数量|
| Key_blocks_unused                             | 53585       键缓存内未使用的块数量  			      |
| Key_blocks_used                               | 3           用于关键字缓存的块的数量                |
| Key_read_requests                             | 6           请求从缓存读入一个键值的次数            |
| Key_reads                                     | 3           从磁盘物理读入一个键值的次数            |
| Key_write_requests                            | 0           请求将一个关键字块写入缓存次数          |
| Key_writes                                    | 0           将一个键值块物理写入磁盘的次数          |
| Last_query_cost                               | 0.000000                                         |
| Last_query_partial_plans                      | 0                                                |
| Locked_connects                               | 0                                                |
| Max_execution_time_exceeded                   | 0                                                |
| Max_execution_time_set                        | 0                                                |
| Max_execution_time_set_failed                 | 0                                                |
| Max_used_connections                          | 330     			同时使用的连接的最大数目          |
| Max_used_connections_time                     | 2022-02-24 22:07:44                              |
| Not_flushed_delayed_rows                      | 0           在INSERT DELAY队列中等待写入的行的数量  |
| Ongoing_anonymous_transaction_count           | 0                                                |
| Open_files                                    | 5          		打开文件的数量					  |
| Open_streams                                  | 0                 打开流的数量(主要用于日志记载)    |
| Open_table_definitions                        | 11                缓存的.frm文件数                |
| Open_tables                                   | 78   				打开表的数量                    |
| Opened_files                                  | 7925              系统打开过的文件总数             |
| Opened_table_definitions                      | 0                 已缓存的.frm文件数              |
| Opened_tables                                 | 0            		已经打开的表的数量      		    |             
| Qcache_free_blocks                            | 1           查询缓存内自由内存块的数量              |
| Qcache_free_memory                            | 1031832     用于查询缓存的自由内存的数量            |
| Qcache_hits                                   | 0           查询缓存被访问的次数                   |
| Qcache_inserts                                | 0           加入到缓存的查询数量                   |
| Qcache_lowmem_prunes                          | 0           由于内存较少从缓存删除的查询数量         |
| Qcache_not_cached                             | 236889      非缓存查询数						   |
| Qcache_queries_in_cache                       | 0           登记到缓存内的查询的数量                |
| Qcache_total_blocks                           | 1           查询缓存内的总块数                     |
| Queries                                       | 561204      被服务器执行的语句个数                 |
| Questions                                     | 2           发往服务器的查询的数量				  |
| Select_full_join                              | 0                                                |
| Select_full_range_join                        | 0                                                |
| Select_range                                  | 0                                                |
| Select_range_check                            | 0                                                |
| Select_scan                                   | 0                                                |
| Slave_open_temp_tables                        | 0                                                |
| Slow_launch_threads                           | 0                                                |
| Slow_queries                                  | 0         要花超过long_query_time时间的查询数量    |
| Sort_merge_passes                             | 0                                                |
| Sort_range                                    | 0                                                |
| Sort_rows                                     | 0                                                |
| Sort_scan                                     | 0                                                |
| Ssl_***                   					| 0             用于SSL连接的变量                   |    
| Table_locks_immediate                         | 123           立即获得的表的锁的次数               |
| Table_locks_waited                            | 0            不能立即获得的表的锁的次数             |
| Tc_log_max_pages_used                         | 0             日志使用的最大页数                   |
| Tc_log_page_size                              | 0          用于XA恢复日志的内存映射实现的页面大小    |
| Tc_log_page_waits                             | 0          对于恢复日志的内存映射实现               |
| Threads_cached                                | 2                   线程的缓存值                  |
| Threads_connected                             | 328                当前打开的连接的数量    		   |
| Threads_created                               | 330               创建用来处理连接的线程数          |
| Threads_running                               | 2                  不在睡眠的线程数量   		    |
| Uptime                                        | 42686              服务器工作了多少秒				|
| Uptime_since_flush_status                     | 42686   最近一次使用FLUSH STATUS 的时间(以秒为单位)|

# 状态信息查询语句
--查看试图连接到MySQL(不管是否连接成功)的连接数
show status like 'connections';
--查看线程缓存内的线程的数量。
show status like 'threads_cached';
--查看当前打开的连接的数量。
show status like 'threads_connected';
--查看查询时间超过long_query_time秒的查询的个数。
show status like 'slow_queries';
--查看线程数
show status like  'Threads%';
Threads_connected : 这个数值指的是打开的连接数.
Threads_running :	这个数值指的是激活的连接数,这个数值一般远低于connected数值.
Threads_connected 	 跟show processlist结果相同,表示当前连接数。准确的来说,Threads_running是代表当前并发数
Threads_created		 表示创建过的线程数,通过查看Threads_created就可以查看MySQL服务器的进程状态。(MySQL服务器的线程数需要在一个合理的范围之内,这样才能保证MySQL服务器健康平稳地运行)
如果我们在MySQL服务器配置文件中设置了thread_cache_size,当客户端断开之后,服务器处理此客户的线程将会缓存起来以响应下一个客户而不是销毁(前提是缓存数未达上限)。Threads_created表示创建过的线程数,如果发现Threads_created值过大的话,表明MySQL服务器一直在创建线程,这也是比较耗资源,可以适当增加配置文件中thread_cache_size值,查询服务器thread_cache_size的值:      show variables like 'thread_cache_size';

# 通常mysql的最大连接数默认是100, 最大可以达到16384。
show variables like '%max_connection%'; 查看最大连接数
set global max_connections=200
SET GLOBAL innodb_lru_scan_depth=256;
影响对InnoDB缓冲池进行刷新操作的算法和启发式的参数。性能专家对调优I/ o密集型工作负载感兴趣。它指定了每个缓冲池实例,在缓冲池LRU页面下列出页面清洁线程扫描以查找要刷新的脏页的距离。这是每秒执行一次的后台操作。`小于默认值的设置通常适用于大多数工作负载`。如果值远高于必要值,可能会影响性能。只有在典型工作负载下有空闲I/O容量时,才考虑增加该值。相反,如果写密集的工作负载使I/O容量饱和,则减少该值,特别是在使用大型缓冲池的情况下。调优innodb_lru_scan_depth时,从一个较低的值开始,向上配置,目标是很少看到零空闲页面。另外,当改变缓冲池实例数时,可以考虑调整innodb_lru_scan_depth,因为innodb_lru_scan_depth * innodb_buffer_pool_instances定义了页面清理线程每秒执行的工作量。

show processlist;

show full processlist; 或 show processlist(默认只列出前100); //显示哪些线程正在运行

id       #ID标识,要kill一个语句的时候很有用
user     #当前连接用户
host     #显示这个连接从哪个ip的哪个端口上发出
db       #数据库名
command  #连接状态,一般是休眠(sleep),查询(query),连接(connect)
time     #连接持续时间,单位是秒
state    #显示当前sql语句的状态
info     #显示这个sql语句

show slave status \G;

MySQL同步功能由3个线程(master上1个,slave上2个)来实现。执行 DE>START SLAVEDE> 语句后,slave就创建一个I/O线程。I/O线程连接到master上,并请求master发送二进制日志中的语句。master创建一个线程来把日志的内容发送到slave上。这个线程在master上执行 DE>SHOW PROCESSLISTDE> 语句后的结果中的 DE>Binlog DumpDE> 线程便是。slave上的I/O线程读取master的 DE>Binlog DumpDE> 线程发送的语句,并且把它们拷贝到其数据目录下的中继日志(relay logs)中。第三个是SQL线程,slave用它来读取中继日志,然后执行它们来更新数据。

用于提供有关从属服务器线程的关键参数的信息

Slave_IO_State:		ID线程的状态,如果master 的所有变更都已经收到这个状态会显示为 Waiting for master to send event
Master_Log_File:		IO线程正在读取的master binlog 文件名
Read_Master_Log_Pos:	IO线程已经读完的位置
Relay_Master_Log_File:	SQL线程正在读取的master binlog 文件名
Exec_Master_Log_Pos:	SQL线程已经读取完的位置
Slave_IO_State:
SHOW PROCESSLIST输出的State字段的拷贝。
SHOW PROCESSLIST用于从属I/O线程。如果线程正在试图连接到主服务器,正在等待来自主服务器的时间或正在连接到主服务器等,本语句会通知您

日志

日志类型写入日志的信息
错误日志记录在启动,运行或停止mysqld时遇到的问题
通用查询日志记录建立的客户端连接和执行的语句
二进制日志记录更改数据的语句
中继日志从复制主服务器接收的数据更改
慢查询日志记录所有执行时间超过 long_query_time 秒的所有查询或不使用索引的查询
DDL日志(元数据日志)元数据操作由DDL语句执行
# mysqlbinlog [options] logfile1 logfile2 ...
mysqlbinlog的选项
-d, --database=name      仅显示指定数据库的转储内容。
-o, --offset=#           跳过前N行的日志条目。
-r, --result-file=name   将输入的文本格式的文件转储到指定的文件。
-R, --read-from-remote-server	指示mysqlbinlog命令从远程服务器读取日志文件
-s, --short-form         使用简单格式(只显示SQL语句)。
--server-id 			 指定mysql服务器,确保是由给定服务器id的mysql服务器所生成的日志。
--set-charset=name       在转储文件的开头增加'SET NAMES character_set'语句。
--start-datetime=name    转储日志的起始时间。
--stop-datetime=name     转储日志的截止时间。
-j, --start-position=#   转储日志的起始位置。
--stop-position=#        转储日志的截止位置。
-v, --verbose       	 用行事件重构伪sql语句。   
-vv  					 显示sql语句加字段类型。

查看日志

mysqlbinlog --no-defaults --database=qq --start-datetime='2022-02-11 18:00:00' --stop-datetime='2022-02-11 20:00:00' --base64-output=decode-rows -v mysql-bin.000052 >18-20.log

增加 --base64-output=decode-rows –v 选项解析(目的:变成人类可以读懂的SQL语句了)
使用base64-output选项,可以控制输出语句何时是输出base64编码的BINLOG语句。以下是base64输出设置的可能值:

never			//它将在输出中显示base64编码的BINLOG语句
always			//只要有可能,它将只显示BINLOG项
decode-rows	    //将把基于行的事件解码成一个SQL语句
auto(默认)	    //仅为某些事件类型打印BINLOG项,例如基于行的事件和格式描述事件

总结

到此这篇关于MySQL查看数据库状态命令的文章就介绍到这了,更多相关MySQL查看数据库状态命令内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL查看数据库状态命令详细讲解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL查看数据库状态命令详细讲解

目录前言show statusshow processlist;show slave status \G;总结前言数据查询语言(DQL: Data Query Language):其语句,也称为“数据检索语句”,用
2023-03-06

MySQL查看数据库状态命令是什么

这篇文章主要介绍了MySQL查看数据库状态命令是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL查看数据库状态命令是什么文章都会有所收获,下面我们一起来看看吧。前言数据查询语言(DQL: Data
2023-03-09

mysql如何查看数据库状态

要查看MySQL数据库的状态,可以使用以下几种方式:使用MySQL命令行客户端:在命令行中输入以下命令可以查看MySQL数据库的状态信息:SHOW STATUS;使用MySQL Workbench:打开MySQL Workbench,连接到
mysql如何查看数据库状态
2024-04-13

mysql查看数据库命令

可以通过以下步骤查看 mysql 数据库:连接到服务器:使用命令 mysql -u -p 连接。查看数据库列表:使用命令 show databases;。选择数据库:使用命令 use 选择特定数据库。查看表列表:使用命令 show ta
mysql查看数据库命令
2024-08-02

MySQL怎么查看数据库状态

要查看MySQL数据库的状态,可以使用以下命令:打开MySQL命令行客户端:在命令行中输入mysql -u 用户名 -p,然后输入密码登录。查看数据库状态:登录后,输入以下命令即可查看数据库的状态:SHOW STATUS;这会返回一长串的数
MySQL怎么查看数据库状态
2024-04-09

mysql怎么查看数据库读写状态

可以使用以下命令来查看MySQL数据库的读写状态:打开MySQL命令行工具或者使用客户端连接到MySQL数据库服务器。使用以下命令查看数据库的读写状态:SHOW GLOBAL STATUS LIKE 'Innodb_rows_%';该命令会
mysql怎么查看数据库读写状态
2024-04-09

mysql数据库查询基础命令详解

目录1.启动数据库命令行客户端2.查询数据库3.进入数据库3.查询所在数据库中所有表python信息4.查询数据库某张表结构5.简单select查询语句(单张表)5.1查询单张表所有数据5.2 LIMIT限制查询结果返回数据项5.3查htt
2022-11-19

linux查看防火墙状态与开启关闭命令详解

linux查看防火墙状态与开启关闭命令有以下两种方式: 一、service方式 查看防火墙状态:[root@centos6 ~]# service iptables statusiptables:未运行防火墙。 开启防火墙:[root@ce
2022-06-04

mysql查看数据库的命令是什么

当你连接到MySQL服务器后,可以使用以下命令来查看数据库:1、SHOW DATABASES;:这个命令将列出所有的数据库名称。示例输出:+--------------------+| Database |+-
mysql查看数据库的命令是什么
2024-04-09

Mysql查询数据库连接状态以及连接信息详解

目录查看显示所有数据库查看当前使用的数据库查看数据库使用端口查看当前数据库大小查看数据所占的空间大小查看索引所占的空间大小查看数据库编码查看数据库的表信息查看数据库的所有用户信息查看某个具体用户的权限查看数据库的最大连接数查看数据库当前连接
2023-04-14

编程热搜

目录