innodb_undo_log_encrypt
시스템 변수innodb_redo_log_encrypt
시스템 변수-- 암호화 활성화
SET GLOBAL innodb_undo_log_encrypt=ON;
SET GLOBAL innodb_redo_log_encrypt=ON;
-- 암호화 활성여부 확인
SHOW GLOBAL VARIABLES LIKE 'innodb_undo_log_encrypt';
SHOW GLOBAL VARIABLES LIKE 'innodb_redo_log_encrypt';
즉, 리두 로그와 언두 로그를 위한 각각의 프라이빗 키가 발급되고, 해당 프라이빗 키는 마스터 키로 암호화되어 리두 로그 파일과 언두 로그 파일의 헤더에 저장되는 것이다.
ALTER INSTANCE ROTATE INNODB MASTER KEY
명령이 실행되면 새로운 마스터 키가 발급되고, 테이블 암호화에 사용된 테이블 스페이스 키와 동일하게 그 새로운 마스터 키에 의해 다시 암호화된다.암호화 활성화 후 INSERT된 레코드의 문자열이 InnoDB의 리두 로그에 보이는지 확인한다.
grep 명령을 이용한 단순한 검색 결과에서 암호화되기 전에 INSERT한 문자열은 검색되지만, 암호화된 이후 INSERT된 문자열은 검색되지 않는다.
## grep 명령의 결과, 문자열이 존재하면 "matches"라는 메시지를 보여준다.
grep '문자열' ib_logfile0 ib_logfile1
## 검색한 문자열이 존재한다면 grep 명령은 반환 값으로 "0"을 리턴한다.
echo $?
## grep 명령의 결과, 문자열이 존재하지 않으면 아무런 메시지 출력이 없다.
grep '문자열' ib_logfile0 ib_logfile1
## 검색한 문자열이 존재하지 않으면 grep 명령은 반환 값으로 "1"을 리턴한다.
echo $?