* 로그의 종류
- general_log : 실행된 모든 쿼리를 저장
- slow_query_log : 느린 쿼리만 타겟팅 하여 저장
* 로그 설정값 확인
// 로그 저장 여부 및 저장 파일 명 확인
show variables like '%general%';
// 로그 저장 유형 확인 (파일 or 테이블)
show variables like 'log_output';
* 로그 저장 설정
- config 파일이 수정되어야 재기동 했을때 옵션이 유지됨.
: 재기동 시 설정이 풀려도 된다면 쿼리로 가능함(set globla general_log ='ON';)
# mariaDB config 수정
> cd /etc/my.cnf.d
> vi server.cnf
# maria 컨피그 수정
[mariadb]
#쿼리 로그가 출력되도록 설정
general_log
# log_output= FILE | TABLE
# file로 내보내기
log_output=FILE
#로그파일 경로 설정
general_log_file=/var/mysql/log/mariadb_general.log
# 서비스 재시작
> systemctl restart mysql.service
* 저장된 로그 확인
# 파일 저장 방식인 경우
> cd /var/mysql/log
> cat mariadb_general.log
# 테이블 저장 방식인 경우
// Slow log
select * from mysql.slow_log sl;
// General log
select * from mysql.general_log gl;
* 로그 파일 확인
# 파일 저장 방식인 경우
> cd /var/mysql/log
> ll -h mariadb_general.log
# 테이블 형태로 저장 한 경우
> cd /var/lib/mysql/mysql
> ll -h general*
* 로그 저장 기간 설정
> cd /etc/logrotate.d
> vi mysql
/var/mysql/log/mariadb_general.log {
create 640 mysql mysql
notifempty
daily
rotate 180
missingok
dateext
postrotate
# just if mysqld is really running
if test -x /usr/bin/mysqladmin && \
/usr/bin/mysqladmin ping &>/dev/null
then
/usr/bin/mysqladmin flush-logs
fi
endscript
}
* 참고자료
[mariadb] 실행된 SQL 쿼리 이력 확인 (ubuntu)
1. 실행중인 쿼리 확인 (show full processlist) -- engine 상태 show engine innodb status; -- 현재 접속중인 유저 및 실행중인 쿼리 -- 기본 show full processlist; -- 상세 select * from INFORMATION_SCHEMA..
24hours-beginner.tistory.com
[Mysql] Logrotate로 Log를 관리하자.
안녕하세요 닷닷입니다. 위에는 Mysql이라고 적어봤지만.. 오라클에서도 충분히 LOG관리가 가능한 Lin...
blog.naver.com
https://toshi15shkim.github.io/articles/2019-06/db-mysql-log
Mysql Log 설정 정리 | Toshi의 개발 블로그
Mysql
toshi15shkim.github.io
https://jang8584.tistory.com/275
[MYSQL] general_log 및 logrorate 관리
디비를 관리하다 보면, 전체 쿼리 로그를 확인 해야 할 경우가 많다.(많은가..?) 전체 쿼리를 관리 하기 위한 general_log와 모든 쿼리를 관리하다 보면 서버 용량이 금방 full 차기 때문에, 로그 관리
jang8584.tistory.com
'MariaDB (MySQL)' 카테고리의 다른 글
[MariaDB] 데이터베이스 복원 by sqldump (0) | 2022.10.06 |
---|