[AWS 라이트세일 LAMP] MySQL 데이터베이스 시간 설정 변경(Timezone) 방법
아마존 라이트세일 LAMP를 사용중일 때 mysql 데이터베이스의 설정된 타임존을 변경하는 방법에 대한 기록이다.
SET GLOBAL time_zone = '+9:00';
SET time_zone = '+9:00';
위 데이터베이스에 접근해서 쿼리로 변경이 가능하지만 일회성이라, 서버를 재시작하면 언제든지 원래대로 돌아가기 때문에 추천하지 않고, 서버에서 my.cnf 설정파일을 수정하여 작업해야한다.LAMP my.cnf 파일 위치는 opt/bitnami/mariadb/conf 폴더에 있다.
LAMP mariadb(mysql) 타임존 변경 방법
1. 아래 명령어를 실행하여 해당 폴더로 이동한다.
cd /opt/bitnami/mariadb/conf
2. 아래 명령어처럼 vi 에디터를 실행한다.
vi my.cnf
3. 위에 스크린샷에서 보는 바와 같이 mysqld 영역과 client, manager 영역 등 3개로 분리되어 있다. 이들 영역중에 [mysqld] 영역에 아래 설정 값을 추가해준다.
default-time-zone='Asia/Seoul'
4. su계정으로 로그인 후 MySql서버를 재시작해는 아래 명령어는 동작하지 않았다.
cd /opt/bitnami/mariadb/sbin
sudo systemctl restart mysqld
위명령어를 실행하여 재시작하면 아래와 같은 오류가 발생했다.
bitnami@ip-xxx-xx-1-xx:~$ sudo systemctl restart mysqld
Failed to restart mysqld.service: Unit mysqld.service not found.
mysqld 파일 위치 찾는 명령어는 다음과 같다.
find / -name mysqld
위 명령어가 동작하지 않아 AWS 콘솔에 로그인 후 인스턴스 재부팅 버튼을 클릭해서 재시작하였다.
서버 재시작 후 콘솔창에서 “mysql -u 계정 -p” 명령어를 실행 후 비밀번호를 입력하였더니 아래와 같은 오류가 발생했다.
MariaDB(mysql) 기본 사용법 ( 데이터 베이스 생성 / 계정 생성 / 권한 부여 등)
ERROR 2002 (HY000): Can't connect to local server through socket '/opt/bitnami/mariadb/tmp/mysql.sock' (111)
my.cnf 파일에 설정을 잘못했음을 직감하였다. my.cnf 파일을 다시 vi 에디터로 열어서
default-time-zone=’Asia/Seoul’ 를 제거하고 타임존 설정방법을 default-time-zone=’+9:00′ 으로 변경 후 서버를 재시작하였더니 정상적으로 mysql에 접속하여 로그인하니 정상적으로 접근되었다.
5. mysql에 접근하여 다음 쿼리를 실행하여 타임존이 변경되었는지 확인하자.
SELECT @@GLOBAL.time_zone, @@SESSION.time_zone, @@system_time_zone;
SELECT NOW();
쿼리 실행결과는 다음과 같다.
MariaDB [(none)]> SELECT @@GLOBAL.time_zone, @@SESSION.time_zone, @@system_time_zone;
+--------------------+---------------------+--------------------+
| @@GLOBAL.time_zone | @@SESSION.time_zone | @@system_time_zone |
+--------------------+---------------------+--------------------+
| +09:00 | +09:00 | UTC |
+--------------------+---------------------+--------------------+
1 row in set (0.000 sec)
MariaDB [(none)]> SELECT NOW();
+---------------------+
| NOW() |
+---------------------+
| 2023-11-04 21:42:21 |
+---------------------+
1 row in set (0.000 sec)
MariaDB [(none)]>
기록만이 살길이다!!