前言:
今天我们对“检查mysql实例是否在运行状态”大约比较注意,朋友们都需要学习一些“检查mysql实例是否在运行状态”的相关知识。那么小编在网络上网罗了一些对于“检查mysql实例是否在运行状态””的相关文章,希望兄弟们能喜欢,你们快快来了解一下吧!在日常工作中有时需要跟进MYSQL当前实例运行的所有SQL,以排查故障。
那就需要开启general_log。一般不会开启开功能,因为log的量会非常庞大,对数据库的性能也产生影响。但个别情况下可能会临时的开一会儿general log以供排障使用。
1.查看general_log是否开启和以何种方式(表或者文件)存放
[root@localhost][(none)]> show variables like '%general_log%';
+------------------+-------------------------------------+
| Variable_name | Value |
+------------------+-------------------------------------+
| general_log | OFF |
| general_log_file | /usr/local/mysql/data/localhost.log |
+------------------+-------------------------------------+
2 rows in set (0.00 sec)
2.为了方便查看,建议以表的形式存在。
[root@localhost][(none)]> set global log_output='table';
Query OK, 0 rows affected (0.00 sec)
[root@localhost][(none)]> show variables like 'log_output';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output | TABLE |
+---------------+-------+
1 row in set (0.00 sec)
3.开启general_log
[root@localhost][(none)]> set global general_log=on;
Query OK, 0 rows affected (0.00 sec)
[root@localhost][(none)]> select count(1) from mysql.general_log;
+----------+
| count(1) |
+----------+
| 2172 |
+----------+
1 row in set (0.01 sec)
4.如果有需要可以查看mysql.general_log表,进行异常分析
5.关闭general_log
[root@localhost][(none)]> set global general_log=off;
Query OK, 0 rows affected (0.00 sec)
6.清空general_log表
不能用delete语句来删除表的数据,只能用truncate
[root@localhost][(none)]> delete from mysql.general_log;
ERROR 1556 (HY000): You can't use locks with log tables.
[root@localhost][(none)]> truncate table mysql.general_log;
Query OK, 0 rows affected (0.01 sec)
标签: #检查mysql实例是否在运行状态