MySQL 이행 대상 환경
MySQL 8.4 타깃 설치 흐름, DB 및 사용자 구성과 함수 생성 제약
#핵심 요약
실습에서는 Oracle, PostgreSQL이 실행 중인 서버에 MySQL 8.4 LTS를 설치하고 3306 포트, utf8mb4, 접속 계정을 확인함
MySQL의 DB와 스키마는 같은 의미로 설명되며 사용자는 별도로 만들고 대상 DB 권한을 부여함
#개념과 동작 원리
| 단계 | 실습의 준비 내용 |
|---|---|
| 기존 환경 확인 | OS 배포판 계열, 3306 사용 여부, MySQL, MariaDB 패키지, 메모리 확인 |
| 저장소, 패키지 | EL7은 yum, EL8/9는 dnf로 공식 저장소를 등록하고 서버 패키지 설치 |
| 서비스 | mysqld 최초 기동과 자동 시작 등록, 상태, 프로세스 확인 |
| 초기 인증 | 최초 로그의 임시 관리 비밀번호 확인 후 변경 |
| DB, 계정 | utf8mb4와 utf8mb4_0900_ai_ci로 대상 DB 생성, 이행 사용자 별도 생성과 권한 부여 |
| 접속 확인 | 사용자, DB, 버전, 오토커밋, 문자셋, 바이너리 로그 조회 |
실습 패키지 설치 방식은 빈 데이터 디렉터리에서 mysqld가 최초 기동할 때 초기화되는 구성으로 설명함
PostgreSQL 실습에서는 별도로 initdb를 실행함
Oracle에서 준비한 MySQL 타깃으로 구조, 데이터를 옮기는 예는 Oracle에서 MySQL로 이행에서 다룸
#필수 명령어 또는 SQL
SELECT VERSION();
SELECT CURRENT_USER(), DATABASE();
SHOW VARIABLES LIKE 'port';
SHOW VARIABLES LIKE 'character_set_server';
SHOW VARIABLES LIKE 'log_bin';
SHOW VARIABLES LIKE 'log_bin_trust_function_creators';
SELECT @@autocommit;결과 해석: 실습의 확인 기준은 포트 3306, 문자셋 utf8mb4, 오토커밋 값 1임(확인 불가)
#사용 조건과 주의사항
실습에서는 바이너리 로그 활성 상태에서 함수 특성 선언 누락으로 ERROR 1418이 발생하는 예를 제시함
DETERMINISTIC, NO SQL 선언 외에 이행 계정의 함수 생성 권한도 확인해야 함
같은 입력에 대한 결과 특성을 확인하지 않고 모든 함수에 DETERMINISTIC을 붙이지 않음
저장소 RPM 파일명은 바뀔 수 있다는 수업 자료 메모가 있음(확인 불가)
현재 다운로드 가능 여부는 확인 불가