본문 바로가기
IT/SQL

AWS RDS 에서 Mysql 설정 변경 (my.cnf/my.inf)

by Jang HyunWoong 2018. 4. 3.

로컬이나 개인 서버에서 Mysql 설정을 변경하려면 my.cnf/my.inf파일을 수정하면 된다. 

하지만, AWS RDS 에서는 서버에 Mysql을 직접 띄우기 때문에 내가 서버 설정파일로 가기 어렵다. 
(console 을 사용하면 갈 수 있나..?)
아무튼 내가 사용한 방법은 파라미터 그룹의 속성을 변경했다. 



'파라미터 그룹'은 해당 DB의 설정파일을 말한다. 

예를 들어, autocommit 옵션을 변경하고 싶으면

들어가서 '파라미터 편집'을 누른다. 그리고 수정하면 된다. 

수정 후 인스턴스를 재 부팅 해 주면 적용된다. 

-----------------------------------------------------------------------------------------
현재 나는 HeidiSQL Tool을 사용하고 있다. 
HeidiSQL의 설정과 AWS RDS의 설정이 달라서 SQL 에러가 난 적이 있다. 
HeidiSQL에서 show variables = 'lower_case_table_names'; 했을 경우 설정 Value가 1이였다. 

하지만, AWS RDS에서는 기본값인 0으로 설정 되어 있었다. 
그래서 대소문자 구별해서 query를 실행해야 했다. 
이것을 로컬에서 사용하는 것 처럼 lower_case_table_names 의 옵션을 변경하려고 한다. 

lower_case_table_names 의미는 아래 테이블과 같다. 
간단하게 0과 2는 대소문자 구분.
1은 mssql처럼 대소문자 구분없이 소문자로 한다.

Value
의미
0
CREATE TABLE 이나 CREATE DATABASE 실행시 디스크에 저장되는 테이블과 데이타베이스의 이름을 대소문자를 구분해서 생성한다.
 SELECT 나 Insert 사용시에도 대소문자를 구분해서 사용해야 한다. 대소문자를 구별하는 OS 에서만 의미가 있고 Windows/Mac OS X 에 는 적용되지 않는다
1
테이블과 DB 이름을 소문자로 생성하며 참조시에는 소문자로 변경하여 처리한다. 기존에 대문자가 포함되어 생성한 테이블과 DB 는 문제가 될 수 있다.
2
CREATE TABLE 이나 CREATE DATABASE 실행시 디스크에 저장되는 테이블과 데이타베이스의 이름을 대소문자를 구분해서 생성한다.
참조시에는 소문자로 변경한다. 대소문자를 구분하지 않는 파일 시스템을 가진 OS(Mac OS X) 에서만 동작한다.

파라미터 그룹으로 가서 파라미터를 찾은 후 값을 1로 만들어 주면 끝.
그리고 재 부팅






반응형