[mysql] MySQL을 다시 시작하지 않고 MySQL의 느린 쿼리 로그를 활성화하려면 어떻게해야합니까?

http://crazytoon.com/2007/07/23/mysql-changing-runtime-variables-with-out-restarting-mysql-server/ 지침을 따랐 지만 임계 값 만 설정 한 것 같습니다.

파일 경로 설정과 같은 다른 작업을 수행해야합니까?

MySQL의 문서에 따르면

--log-slow-queries에 file_name 값이 지정되지 않은 경우 기본 이름은 다음과 같습니다.
host_name-slow.log. 서버는 데이터 디렉토리에 파일을 생성합니다.
다른 디렉토리를 지정하기 위해 절대 경로 이름이 제공됩니다.

달리는

변수 표시

로그 파일 경로를 나타내지 않고 서버에 느린 쿼리 로그 파일이 표시되지 않습니다.

편집하다

서버 버전 5.0.77을 사용중인 것 같아서 다음을 수행해야합니다.

SET GLOBAL log_slow_queries = 1;

그러나 나는 얻는다 : ERROR 1238 (HY000) : 변수 ‘log_slow_queries’는 읽기 전용 변수입니다.

서버를 다시 시작하고 내 구성에 log_slow_queries를 설정해야한다고 가정합니다.



답변

시도 SET GLOBAL slow_query_log = 'ON';하고 아마도FLUSH LOGS;

이것은 MySQL 5.1 이상을 사용하고 있다고 가정합니다. 이전 버전을 사용하는 경우 서버를 다시 시작해야합니다. 이것은 MySQL 매뉴얼에 문서화되어 있습니다. 구성 파일 또는 명령 줄에서 로그를 구성 할 수 있습니다.


답변

버전 <5.1에 대한 느린 쿼리의 경우 다음 구성이 저에게 효과적이었습니다.

log_slow_queries=/var/log/mysql/slow-query.log
long_query_time=20
log_queries_not_using_indexes=YES

또한 [mysqld]구성 파일의 일부에 배치 하고 다시 시작하십시오 mysqld.


답변

사용 가능한 로그를 찾습니까?

SHOW VARIABLES LIKE '%log%';

로그 설정 :-

SET GLOBAL general_log = 'ON';

SET GLOBAL slow_query_log = 'ON';


답변

MySQL 매뉴얼-느린 쿼리 로그 파일

이것은 느린 로그 파일 (5.1.6 이상)을 설정하기 위해 다음을 실행할 수 있다고 주장합니다.

set global slow_query_log_file = 'path';

slow_query_log 변수는 활성화 여부를 제어합니다.


답변

이 작품

SET GLOBAL LOG_SLOW_TIME = 1;
SET GLOBAL LOG_QUERIES_NOT_USING_INDEXES = ON;

내 설정에서 깨짐 5.1.42

SET GLOBAL LOG_SLOW_QUERIES = ON;
SET GLOBAL SLOW_QUERY_LOG = ON;
set @@global.log_slow_queries=1;

http://bugs.mysql.com/bug.php?id=32565

이를 수행하는 가장 좋은 방법은 log_slow_time을 매우 높게 설정하여 느린 쿼리 로그를 “끄는”것 같습니다. 활성화하려면 log_slow_time을 낮추십시오. log_queries_not_using_indexes에 대해 동일한 트릭 (OFF로 설정)을 사용합니다.


답변

문제는 MySQL 서버에 파일에 대한 권한이 있고 편집 할 수 있는지 확인하는 것입니다.

파일에 액세스 할 수있는 경우 다음 설정을 시도 할 수 있습니다.
SET GLOBAL slow_query_log = 1;

그렇지 않은 경우 구성 파일을 변경 한 후 언제든지 서버를 ‘다시로드’할 수 있습니다. 리눅스에서는 일반적으로/etc/init.d/mysql reload


답변

일반 오류 로그 및 느린 쿼리 오류 로그를 파일 대신 테이블에 사용하려는 경우

파일 대신 테이블에서 로그인을 시작하려면 :

set global log_output = “TABLE”;

일반 및 느린 쿼리 로그를 활성화하려면 :

set global general_log = 1;
set global slow_query_log = 1;

로그를 보려면 :

select * from mysql.slow_log;
select * from mysql.general_log;

자세한 내용은이 링크를 방문하십시오.

http://easysolutionweb.com/technology/mysql-server-logs/