[HKMC] 작업로그

SEPTEMBER 15, 2020

1. DB Instance 생성

1.1. MYSQL CLI 로 접속

# mysql -u root -p 

mysql 명령어를 찾을 수 없다는 오류가 나와서 프로세스 확인 및 mysql client 설치 확인을 하였다

# ps -ef | grep mysqld (프로세스 정상 동작 확인)
# rpm -qa | grep mysql (mysql 설치 안되어 있음)

mysql을 rpm 으로 설치를 진행하지 않고 바이너리로 설치 한 듯 싶었다. mysql 바이너리가 있는 디렉토리에서 직접 수행하였더니 아래와 같은 오류가 발생하였다.

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

mysql.sock 파일 위치 문제로 보였으나,
담당자가 root 계정(OS)으로 접속하여 시도하니 mysql 클라이언트가 정상 동작하였다.
mysql.sock 파일 permission 문제였나? 내일 확인해 봐야겠다.

mysql.sock 파일 위치 문제시 해결 방안

  1. 경로 명시

    mysql -u root -p mysql -S /var/lib/mysql/mysql.sock
  2. soft link

    ln -sf /tmp/mysql.sock /var/lib/mysql/mysql.sock
  3. /usr/local/mysql/bin/mysqld_safe 파일에서 아래 부분을 mysql.sock 파일이 있는 위치에 맞게 수정

    safe_mysql_unix_port=${mysql_unix_port:-${MYSQL_UNIX_PORT:-/tmp/mysql.sock}}

1.2. DB 인스턴스 생성

mysql> create database DB_NAME default character set utf8 collate utf8_general_ci;

default character set 부분이 외워지질 않네..

1.3. 계정 생성

mysql> create user [USER_NAME]@'localhost' identified by '[PASSWORD]';
mysql> create user [USER_NAME]@'%' identified by '[PASSWORD]';

1.4. 권한 확인

1.4.1. 권한 확인

#접속된 계정 권한 확인
mysql> SHOW GRANTS FOR CURRENT_USER;
# 사용자별 권한 확인
mysql> SHOW GRANTS FOR '사용자계정'@'호스트';

1.4.2. 권한 추가

mysql> GRANT ALL PRIVILEGES ON [DB_NAME].[TABLE_NAME] TO [ID]@[HOST] IDENTIFIED BY '[PASSWORD]' with grant option;
# 권한 종류
- ALL PRIVILEGES : 모든 권한 추가 
- SELECT, INSERT, UPDATE, DELETE, ... : 권한을 일부분을 추가 
# with grant option 옵션
- with grant option : GRANT를 사용할 수 있는 권한 추가 

2. 서비스 기동

nohup java -jar -Duser.timezone=Asia/Seoul ${JAR_FILE} --server.port=${PORT} --spring.profiles.active=${SVC_ENV},swagger >> ./logs/server.log &

옵션이 외워지지 않는다..
이제부턴 실행 스크립트도 같이 전달해야겠다.


ps. ssh timeout

타임 아웃이 걸린 ssh 접속을 오랜만에 했더니 명령어 기억이 나질 않았다.

export TMOUT=0

작업 기록 블로그