前言
本文主要讲解了MySQL中常用的命令,感谢师父的耐心指导,师父博客:https://zmedu.blog.csdn.net
本文是对MySQL常用的两个命令的总结,一个是select ,一个是show命令,很多时候我们监控MySQL需要监控MySQL的指标,各类监控指标参见:MySQL监控指标
文章目录
- 前言
- 一. 常用的select 命令
- 1.1 打印当前日期和时间
- 1.2 打印当前日期
- 1.3 打印当前时间
- 1.4 打印mysql版本
- 1.5 打印当前数据库
- 1.6 打印当前用户
- 1.7 查看当前用户信息
- 二. show命令的使用
- 2.1 连接数(Connections)
- 2.2 查询数(Questions)
- 2.3 缓存命中率(Cache Hit Rate)
- 2.4 查看慢查询日志相关的参数
- 2.5 其他命令
- 总结
一. 常用的select 命令
1.1 打印当前日期和时间
MySQL [roles]>
MySQL [roles]> select now();
+---------------------+
| now() |
+---------------------+
| 2023-06-19 23:37:56 |
+---------------------+
1 row in set (0.00 sec)
1.2 打印当前日期
MySQL [roles]> select curdate();
+------------+
| curdate() |
+------------+
| 2023-06-19 |
+------------+
1 row in set (0.00 sec)
1.3 打印当前时间
MySQL [roles]> select curtime();
+-----------+
| curtime() |
+-----------+
| 23:38:19 |
+-----------+
1 row in set (0.00 sec)
MySQL [roles]>
1.4 打印mysql版本
MySQL [roles]> select version();
+-----------+
| version() |
+-----------+
| 5.7.36 |
+-----------+
1 row in set (0.00 sec)
MySQL [roles]>
1.5 打印当前数据库
MySQL [roles]> select database();
+------------+
| database() |
+------------+
| roles |
+------------+
1 row in set (0.00 sec)
MySQL [roles]>
1.6 打印当前用户
MySQL [roles]> select user();
+-------------------+
| user() |
+-------------------+
| root@192.168.1.41 |
+-------------------+
1 row in set (0.00 sec)
1.7 查看当前用户信息
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)
二. show命令的使用
在日常监控 MySQL 时,我们一般会监控一些重要的参数和指标,这些参数和指标可以用show命令进行查看
2.1 连接数(Connections)
监控当前活动的连接数。过高的连接数可能会导致性能下降。这里的连接数包括了没有连接成功的,也就是不管连接成功与否,我们都算上。
MySQL [roles]> show global status like 'Connections';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Connections | 5 |
+---------------+-------+
1 row in set (0.03 sec)
MySQL [roles]>
2.2 查询数(Questions)
监控已处理的查询数量。此指标可以帮助您了解数据库的负载和查询执行的情况。
Questions: 执行语句的数量,由客户端发起的。
MySQL [roles]> show global status like 'Questions';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Questions | 172 |
+---------------+-------+
1 row in set (0.00 sec)
MySQL [roles]>
2.3 缓存命中率(Cache Hit Rate)
监控缓存的命中率,包括查询缓存(如果启用)和 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)
2.4 查看慢查询日志相关的参数
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表示没有开启慢查询日志。
2.5 其他命令
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常见的命令我们总结下: