MySQL 서버에서 실행되는 모든 쿼리를 기록하는 방법은 무엇입니까?
set global general_log = 'on'을 사용하여 일반 쿼리 로그를 활성화하거나 my.cnf에서 general_log = 1으로 구성하고 로그 경로에 general_log_file을 지정하십시오. 2. 'general_log'와 같은 표시 변수를 사용하여 로깅 상태를 확인하고 'general_log_file'과 같은 변수를 표시하십시오. 3. 파일 기반 로깅의 경우 log_output을 '파일'으로 설정하거나 mysql.general_log에 로그를 저장하려면 'log_output'과 같은 표시 변수로 현재 설정을 확인하십시오. 4. 성능 및 보안 모니터링 : 생산에서의 장기 사용을 비활성화하고 로그에서 민감한 데이터를 보호하며, 로그 스크립트로 로그를 플러시하여 로그 트로 테이트를 사용합니다. 5. slow_query_log를 활성화하고 long_query_time을 설정하여 최소한의 오버 헤드로 성능 튜닝을 위해 Slow Query 로그를 사용하는 것을 고려하십시오. 일반 쿼리 로그는 더 이상 필요하지 않은 경우 일시적으로 사용하고 비활성화해야합니다.
MySQL 서버에서 실행되는 모든 쿼리를 기록하려면 일반 쿼리 로그를 활성화 할 수 있습니다. 이 로그는 연결, 단절 및 실행 된 모든 쿼리를 포함하여 서버가 수신 한 모든 SQL 문을 캡처합니다. 다음은 올바르게 설정하는 방법입니다.

1. 일반 쿼리 로그를 활성화합니다
일반 쿼리 로그는 기본적으로 비활성화됩니다. SQL 명령을 사용하여 MySQL을 다시 시작하지 않고 동적으로 활성화 할 수 있습니다.
Global general_log = 'on'을 설정하십시오.
로그 파일을 지정하려면 (위치를 제어하려면 선택 사항) :

Global general_log_file = '/var/log/mysql/mysql-general.log';
⚠️ 참고 : 경로는 MySQL 프로세스에 의해 쓰여질 수 있어야하며 디렉토리가 존재해야합니다.
또는 MySQL 구성 파일 (Windows의 my.cnf
또는 my.ini
)을 통해 영구적으로 활성화 할 수 있습니다.

[mysqld] general_log = 1 general_log_file = /var/log/mysql/mysql-general.log
구성 파일을 편집 한 후 MySQL을 다시 시작합니다.
Sudo SystemCTL 재시작 MySQL
2. 현재 로깅 상태를 확인하십시오
일반 로그가 활성화되어 있는지 확인하려면 다음과 같습니다.
'general_log'와 같은 변수를 표시합니다.
로그가 작성되는 위치를 확인하려면 :
'general_log_file'과 같은 변수를 표시합니다.
로그 출력 대상을 확인할 수도 있습니다.
'log_output'과 같은 변수를 표시합니다.
3. 로그 출력 대상 이해 ( log_output
)
MySQL은 파일 또는 데이터베이스 테이블 ( mysql.general_log
)에 로그를 쓸 수 있습니다. 현재 설정 확인 :
'log_output'과 같은 변수를 표시합니다.
-
FILE
인 경우 logs는general_log_file
로 지정된 파일로 이동합니다. -
TABLE
인 경우 로그는mysql.general_log
테이블에 저장됩니다. - 로깅을 비활성화하는 것도
NONE
수도 있습니다.
출력을 파일로 변경하려면 (성능 권장) :
Global log_output = 'file'을 설정합니다.
또는 테이블을 사용하려면 (SQL을 통해 로그를 쿼리하는 데 유용) :
Global log_output = 'table'을 설정합니다.
그런 다음 로그를 검사 할 수 있습니다.
event_time desc 리미트 100의 mysql.general_log order에서 *를 선택하십시오.
⚠️ 경고 : 테이블 출력을 사용하면 높은 부하에서 성능에 영향을 줄 수 있습니다.
4. 성능 및 보안 고려 사항
- 성능 : 일반 로그는 많은 데이터를 빠르게 생성 할 수 있습니다. 생산 시스템에서 장기적으로 활성화하는 것이 좋습니다.
- 보안 : 로그에는 민감한 데이터 (쿼리의 비밀번호, 사용자 데이터)가 포함될 수 있습니다. 적절한 파일 권한을 보장하고 로그 회전을 고려하십시오.
- 회전 : Linux에서
logrotate
사용하여 로그 파일 크기를 관리합니다.
예제 logrotate
config ( /etc/logrotate.d/mysql-general
) :
/var/log/mysql/mysql-general.log { 일일 실종 회전 7 압박 붕대 DelayCompress 알림 640 MySQL MySQL을 만듭니다 공유 스크립트 포트로 테이트 테스트 -x/usr/bin/mysqladmin || 출구 0 MyAdmin = "/usr/bin/mysqladmin-defaults-file =/etc/mysql/debian.cnf" [-f /var/run/mysqld/mysqld.pid]; 그 다음에 $ myadmin 플러시 로그 fi EndScript }
회전 후 로그를 플러시해야 할 수도 있습니다.
플러시 로그;
5. 대안 : 느린 쿼리 로그 (성능 조정 용)
느리거나 비효율적 인 쿼리에만 관심이 있으시면 대신 느린 쿼리 로그를 사용하십시오.
[mysqld] slow_query_log = 1 slow_query_log_file = /var/log/mysql/mysql-slow.log long_query_time = 1 log_queries_not_using_indexes = 0
이것은 오버 헤드가 훨씬 적고 생산 모니터링에 더 적합합니다.
간단히 말해서 : 전체 쿼리 로깅을 위해 log_output = FILE
사용하여 general_log = ON
사용하지만 성능 및 데이터 감도에주의하십시오. 필요하지 않은 경우 끄십시오.
기본적으로 활성화하는 것은 간단하지만 영원히 떠나고 싶은 것은 아닙니다.
위 내용은 MySQL 서버에서 실행되는 모든 쿼리를 기록하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SSL/TLS 암호화 MySQL 연결이 필요한 이유는 무엇입니까? 암호화되지 않은 연결로 인해 민감한 데이터가 가로 채어질 수 있으므로 SSL/TLS를 활성화하면 중간 공격을 방지하고 규정 준수 요구 사항을 충족시킬 수 있습니다. 2. MySQL의 SSL/TLS를 구성하는 방법은 무엇입니까? 인증서와 개인 키를 생성하고 ssl-ca, ssl-cert 및 ssl-key 경로를 지정하고 서비스를 다시 시작하려면 구성 파일을 수정해야합니다. 3. 클라이언트가 연결할 때 SSL을 강제하는 방법은 무엇입니까? 사용자를 생성 할 때 요구 사항을 지정하여 구현; 4. SSL 구성에서 쉽게 간과되는 세부 사항에는 인증서 경로 권한, 인증서 만료 문제 및 클라이언트 구성 요구 사항이 포함됩니다.

MySQL 데이터베이스에 Excel을 연결하는 세 가지 방법이 있습니다. 1. PowerQuery 사용 : MySQLODBC 드라이버를 설치 한 후 Excel의 내장 된 PowerQuery 기능을 통해 연결 및 가져 오기 데이터를 설치 한 후 Timed Refresh를 지원합니다. 2. MySQLForexcel 플러그인 사용 : 공식 플러그인은 친숙한 인터페이스를 제공하고 양방향 동기화 및 테이블 가져 오기를 MySQL로 다시 제공하며 버전 호환성에주의를 기울입니다. 3. VBA ADO 프로그래밍 사용 : 고급 사용자에게 적합하고 매크로 코드를 작성하여 유연한 연결 및 쿼리를 달성하십시오. 귀하의 요구와 기술 수준에 따라 적절한 방법을 선택하십시오. PowerQuery 또는 MySQlforexcel은 매일 사용하는 데 권장되며 VBA는 자동 처리에 더 좋습니다.

USSETTINGUTUPMYSQLTABLES를 설정할 때 DATATYPESSISCECIALFORFOILICION 및 SCALIBICTION을 선택하십시오

MySQL 배포 자동화를 달성하기 위해 Terraform을 사용하여 리소스, Ansible Management 구성, 버전 제어를위한 GIT 및 보안 및 권한 관리를 강화하는 것입니다. 1. Terraform을 사용하여 버전, 유형, 액세스 제어 및 AWSRD의 기타 리소스 속성과 같은 MySQL 인스턴스를 정의합니다. 2. AnsiblePlayBook을 사용하여 데이터베이스 사용자 생성, 권한 설정 등과 같은 세부 구성을 실현합니다. 3. 모든 구성 파일은 GIT 관리, 지원 변경 추적 및 협업 개발에 포함됩니다. 4. 하드 코딩 된 민감한 정보를 피하고 Vault 또는 AnsibleVault를 사용하여 암호를 관리하고 액세스 제어 및 최소 권한 원칙을 설정하십시오.

MySQL 반 동기화 복제를 설정하는 단계는 다음과 같습니다. 1. 버전 지원을 확인하고 플러그인을로드합니다. 2. 반동 모드를 켜서 활성화하십시오. 3. 상태 및 작동 상태를 확인하십시오. 4. 시간 초과 설정, 멀티 슬레이브 라이브러리 구성 및 마스터 슬레이브 스위칭 처리에주의하십시오. RPL_SEMI_SYNC_MASTER 및 RPL_SEMI_SYNC_SLAVE 플러그인, 마스터 및 슬레이브 라이브러리에서 해당 매개 변수를 활성화하고 My.CNF에서 자동로드를 구성하고, 설정이 완료된 후에 상태를 다시 시작하고, 시간을 조정하고, 시간을 조정하고, 시간을 조정하고, 시간을 조정하고, 시간을 조정하고, 시간을 조정하고, 시간을 조정하고, 시간을 조정하고, 시간을 조정하고, 상태를 확인한 후에 서비스를 다시 시작하는 MySQL 5.5 이상의 버전이 설치되도록해야합니다.

MySQL 오류 "implectStringValueforColumn"은 일반적으로 필드 문자 세트가 이모티콘과 같은 4 바이트 문자를 지원하지 않기 때문입니다. 1. 오류의 원인 : MySQL의 UTF8 문자 세트는 3 바이트 문자 만 지원하며 4 바이트 이모티콘을 저장할 수 없습니다. 2. 솔루션 : 데이터베이스, 테이블, 필드 및 연결을 UTF8MB4 문자 세트로 변경합니다. 3. 또한 구성 파일, 임시 테이블, 응용 프로그램 계층 인코딩 및 클라이언트 드라이버가 모두 UTF8MB4를 지원하는지 확인하십시오. 4. 대체 솔루션 : 4 바이트 문자를 지원할 필요가 없다면 응용 프로그램 계층에서 이모티콘과 같은 특수 문자를 필터링 할 수 있습니다.

Revoke를 사용하여 MySQL 사용자 권한을 재활용하려면 Format별로 권한 유형, 데이터베이스 및 사용자를 지정해야합니다. 1. revokeallprivileges를 사용하십시오. 2. Revokeallprivilegesonmydb.from'username'@'hostname '을 사용하십시오. 3. Revokeallprivilegesonmydb.from'username'@'hostname '을 사용하십시오. 3. 취소 허가 유형을 사용합니다 .*from'username'@'hostname '; 실행 후 권한을 새로 고치는 것이 좋습니다. 권한의 범위는 승인 시간과 일치해야하며 존재하지 않는 권한을 재활용 할 수 없습니다.

Excel Pivot 테이블 기능을 구현하는 방법 MySQL과 유사한 방법에는 주로 행 변환을위한 집계 함수를 결합하기위한 케이스 또는 IF 문을 포함합니다. 1. Casewhen을 사용하여 정적 행-컬럼 변환을 실현하는데, 이는 열 값이 변환되는 것으로 알려진 상황에 적합합니다. 다른 값에 대해 새 열이 생성되며 데이터는 합을 통해 요약됩니다 (Casewhen ...). 2. 특정 값이 불확실한 상황에 적합한 열을 동적으로 생성합니다. 사례 표현식을 구성하기 전에 고유 한 값을 얻어야합니다. 일반적으로 SQL 문자열을 스플 라이스 및 실행하기위한 저장된 절차 또는 응용 프로그램 계층 로직과 결합됩니다. 3. 함수를 사용하여 구문을 단순화하여 케이스와 동일한 효과를 달성하지만 쓰기 방법이 더 작습니다. 실제 응용 분야에서 치수가 고정되면 열을 직접 하드 코딩 할 수 있습니다. 치수가 자주 변경되면 스크립트를 사용하거나 저장하는 것이 좋습니다.
