MYSQL 파라미터 innodb_read_only 와 read_only 차이
MySQL의 innodb_read_only와 read_only 파라미터는 비슷한 목적으로 사용되지만 몇 가지 중요한 차이점이 있다
1. 적용 범위:
- innodb_read_only: InnoDB 스토리지 엔진을 사용하는 테이블에만 적용됩니다.
- read_only: 모든 스토리지 엔진에 적용됩니다.
2. 권한 처리:
- innodb_read_only: 모든 사용자(SUPER 권한 포함)의 쓰기 작업을 금지합니다.
- read_only: SUPER 권한(또는 CONNECTION_ADMIN)을 가진 사용자는 여전히 쓰기 작업이 가능합니다.
3. 설정 변경:
- innodb_read_only: 서버 시작 시에만 설정 가능한 정적 변수입니다.
- read_only: 동적 변수로, 서버 운영 중에도 변경 가능합니다.
4. 작업 제한:
- innodb_read_only: InnoDB 관련 모든 쓰기 작업을 금지합니다.
- read_only: 일반적인 데이터 변경 작업을 금지하지만, TEMPORARY 테이블 작업이나 복제 관련 작업 등은 허용합니다.
5. 사용 목적:
- innodb_read_only: 주로 읽기 전용 미디어에서 MySQL을 실행하거나, 데이터 무결성을 위해 사용됩니다.
- read_only: 주로 복제 설정에서 슬레이브 서버를 읽기 전용으로 만들기 위해 사용됩니다.
6. 시스템 테이블 영향:
- innodb_read_only: mysql 시스템 데이터베이스의 InnoDB 테이블에도 영향을 미칩니다.
- read_only: 일부 시스템 작업(예: FLUSH TABLES WITH READ LOCK)은 여전히 허용됩니다.
따라서 innodb_read_only는 더 엄격한 읽기 전용 모드를 제공하며, read_only는 일반적인 운영 상황에서 더 유연한 읽기 전용 모드를 제공합니다.