성공한 케이스를 그대로 적으면 짧은 내용이지만 혹시나 나중에 다시 쓸모가 있을지도 모르는 삽질 과정을 기록하기 위해서 mysql 설치 과정만 별도로 정리한다. cannot execute binary file: Exec format error 일단, 기존에 x86 환경에서 정리해놓은 스크립트로 mysql 바이너리를 그냥 다운 받아 실행했는데 위 에러가 발생해서 잠깐 동안 고민에 빠졌었다. 몇번이고 그냥 실행해보다가 보니 바이너리(mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz)에 x86_64 라고 적힌게 […]
[MySQL] WITH RECURSIVE 구문을 이용한 Row Generator
MySQL 에서는 아래와 같이, Oracle 에서처럼, 간단하게 리스트 데이터를 생성해내는 문법이 없다. SELECT LEVEL FROM DUAL CONNECT BY LEVEL < 9; 오라클에서는 connect by를 이용해서, 데이터를 추출할때 조인걸어 쓰거나 간단하게 테스트 데이터를 만들 때 유용하게 쓸 수 있었는데 다른 RDBMS에서는 기본 지원되지 않아 아쉽다. PostgreSQL 에서도 generate_series(1,n) 을 이용해서 range list 를 만들어 줄 수 […]
[Jdbc] DriverPropertyInfo를 이용해 현재 드라이버 연결의 파라미터 값 확인하기
[Jdbc] DriverPropertyInfo를 이용해 현재 드라이버 연결의 파라미터 값 확인하기 jdbc에서 useAffectedRows 파라미터를 테스트해보던 중에 현재 jdbc 드라이버에 제대로 적용이 되어있는 것인지 확인이 필요했는데, java.sql.DriverPropertyInfo 를 이용해서 확인할 수 있었다. 아래와 같이 테스트 소스를 작성하고 파라미터 설정을 바꿔가면서 확인해보니 제대로 동작하는 것을 확인할 수 있었다. 출력 부분은 필요에따라 변형하면될 것 같고 어플리케이션 개발 단계에서는 DEBUG 모드로 […]
[SQL] mysql data sample
데이터 파이프라인, 마트 개발 업무를 맡게 되면서 SQL 역량에 대한 필요성을 많이 느낀다. 데이터베이스 엔지니어로 일했던 이전까지의 경력에서는 DB 인스턴스 레벨에서 시스템 구축에 눈높이가 맞춰져있었다. DB 성능을 개선하는 일을 많이 해보기는 했지만 인스턴스 리포트의 몇가지 지표를 보고 적절한 설정을 하는 일들 위주였고, SQL은 이미 짜여진 쿼리를 간단히 변형해보는 정도이거나 시스템 카탈로그를 뒤지는 정도의 쿼리 밖에 […]
[MySQL] mysqldump
mysqldump mysqldump 프로세스가 실행된 순간의 데이터베이스 스키마 및 데이터를 SQL로 추출한다. 이 방식으로 백업하는 경우, DB에 TX가 발생하지 않는 상황에서 하는 것이 좋다. (AP 서비스 종료 후 백업하는 것을 권장) Usage 전체 데이터베이스 백업 mysqldump -uroot -p -A > full_database.sql 특정 데이터베이스 백업 mysqldump -uroot -p specific_database_name > specific_database_name.sql 특정 테이블 백업 mysqldump -uroot -p […]
[MySQL] mysql 설치
사전 준비 mysql 시스템 유저 생성 mysql:x:3306:1000::/home/mysql:/bin/bash 디렉토리 생성 및 권한 부여 엔진 경로 mkdir /apps/mysql chown mysql /apps/mysql 데이터파일 경로 mkdir /data/mysql chown mysql /data/mysql 로그 경로 mkdir /data/mysql chown mysql /logs/mysql my.cnf 파일 생성 및 권한 부여 touch /etc/my.cnf chwon mysql /etc/my.cnf mysql 설정 vi /etc/my.cnf [mysqld] user = mysql port = 3306 […]