本文主要讲解了MySQL中常用的命令,感谢师父的耐心指导,师父博客:https://zmedu.blog.csdn.net
本文是对MySQL常用的两个命令的总结,一个是select ,一个是show命令,很多时候我们监控MySQL需要监控MySQL的指标,各类监控指标参见:MySQL监控指标
MySQL [roles]>
MySQL [roles]> select now();
+---------------------+
| now() |
+---------------------+
| 2023-06-19 23:37:56 |
+---------------------+
1 row in set (0.00 sec)
MySQL [roles]> select curdate();
+------------+
| curdate() |
+------------+
| 2023-06-19 |
+------------+
1 row in set (0.00 sec)
MySQL [roles]> select curtime();
+-----------+
| curtime() |
+-----------+
| 23:38:19 |
+-----------+
1 row in set (0.00 sec)
MySQL [roles]>
MySQL [roles]> select version();
+-----------+
| version() |
+-----------+
| 5.7.36 |
+-----------+
1 row in set (0.00 sec)
MySQL [roles]>
MySQL [roles]> select database();
+------------+
| database() |
+------------+
| roles |
+------------+
1 row in set (0.00 sec)
MySQL [roles]>
MySQL [roles]> select user();
+-------------------+
| user() |
+-------------------+
| [email protected] |
+-------------------+
1 row in set (0.00 sec)
MySQL [roles]> select user,host from mysql.user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| root | % |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+---------------+-----------+
4 rows in set (0.00 sec)
在日常监控 MySQL 时,我们一般会监控一些重要的参数和指标,这些参数和指标可以用show命令进行查看
监控当前活动的连接数。过高的连接数可能会导致性能下降。这里的连接数包括了没有连接成功的,也就是不管连接成功与否,我们都算上。
MySQL [roles]> show global status like 'Connections';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Connections | 5 |
+---------------+-------+
1 row in set (0.03 sec)
MySQL [roles]>
监控已处理的查询数量。此指标可以帮助您了解数据库的负载和查询执行的情况。
Questions: 执行语句的数量,由客户端发起的。
MySQL [roles]> show global status like 'Questions';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Questions | 172 |
+---------------+-------+
1 row in set (0.00 sec)
MySQL [roles]>
监控缓存的命中率,包括查询缓存(如果启用)和 InnoDB 缓冲池。较高的缓存命中率通常表示更好的性能。
MySQL [roles]> show global status like 'Qcahe_hits';
Empty set (0.00 sec)
MySQL [roles]> show global status like 'Qcahe_inserts';
Empty set (0.00 sec)
MySQL [roles]> show variables like 'slow_query_log';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| slow_query_log | OFF |
+----------------+-------+
1 row in set (0.00 sec)
MySQL [roles]> show variables like 'slow_query_time';
Empty set (0.00 sec)
MySQL [roles]>
OFF表示没有开启慢查询日志。
show variables;
show global variables;
show global variables like '%version%';
show variables like '%storage_engine%'; 默认的存储引擎
like模糊搜索还可用户where字句,例如
select * from students where stname like '%l%1%2%3%';
show engines;查看支持哪些存储引擎
MySQL [roles]> show global status like 'Thread%';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Threads_cached | 0 |
| Threads_connected | 1 |
| Threads_created | 1 |
| Threads_running | 1 |
+-------------------+-------+
4 rows in set (0.01 sec)
查看默认字符集
MySQL [roles]> SHOW VARIABLES LIKE 'character_set_database';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| character_set_database | utf8 |
+------------------------+-------+
1 row in set (0.01 sec)
MySQL常见的命令我们总结下: