다음 옵션을 사용하여 느린 로그를 활성화할 때 문제를 경험한 사람이 있습니까?
root@(none)> show global variables like "%slow_query%";
+-----------------------------------+-------------------------------+
| Variable_name | Value |
+-----------------------------------+-------------------------------+
| slow_query_log | ON |
| slow_query_log_always_write_time | 10.000000 |
| slow_query_log_file | /var/log/mysql/mysql-slow.log |
| slow_query_log_use_global_control | |
+-----------------------------------+-------------------------------+
4 rows in set (0.00 sec)
단일 느린 로그 쿼리 없이 느린 로그 파일이 동일한 내용으로 계속해서 스팸 처리되는 이상한 문제가 발생합니다.
Time Id Command Argument
/usr/sbin/mysqld, Version: 8.0.25-15 (Percona Server (GPL), Release '15', Revision 'a558ec2'). started with:
Tcp port: 3306 Unix socket: /var/run/mysqld/mysqld.sock
이 세 줄은 초당 약 100KB로 끊임없이 스팸을 받고 있습니다. 뿐만 아니라, 이로 인해 복제가 지연되고 마스터보다 뒤처지는 시간이 계속해서 늘어나고 있었습니다. 나는 /var/log/mysql 디렉토리가 있는 OS 디스크(MySQL datadir이 다른 배열에 있음)의 이상한 사용법을 발견했습니다. 나는 이것이 이러한 쓸모없는 메시지를 각각 디스크에 플러시하고 있다고 가정합니다. Slow_query_log를 비활성화하면 SBM이 매우 빠르게 떨어지기 시작했고 유지하는 데 아무런 문제가 없습니다.
Percona MySQL에 버그가 있는 건가요? 이에 대한 참조를 찾을 수 없나요?
답변1
my.cnf 또는 my.ini에 다음을 추가해 보세요.
min_examined_row_limit=1
느린 쿼리 로그에서 불필요한 잡담을 방지합니다.
답변2
아마도 10초 이상 걸리는 쿼리가 없을 것입니다.
아마도 long_query_time
여전히 기본값인 10(초)에 있을 것입니다. 이는 대부분 쓸데없이 높은 값입니다. 1로 낮추세요.
뭔가 하고 있는 걸까요 FLUSH LOGS
? 크론 작업을 확인하세요. 귀하의 사이트에 있습니까, 아니면 클라우드에 있습니까? 그들이 원인일 수도 있습니다.