목록MySQL (9)
코딩마을방범대

도커를 통해 ELK 구축하기ELK란 아래 포스트를 통해 개념을 확인할 수 있다. ELK 스택(Elasticsearch, Kibana, Beats, Logstash) 개념 정리ELK 스택Elasticsearch, Logstash, Kibana의 세 가지 인기 있는 프로젝트로 구성된 스택을 의미sweet-rain-kim.tistory.com 위 포스터를 참고하여 ELK를 구축한 경우 여러 서비스의 로그를 수집할 수 있다.이번 포스터에선 MySQL 로그와 연동해 볼 예정이다. 1. MySQL 환경 설정 우선 MySQL의 로그 설정이 필요하다. 1. MySQL conf 파일 수정sudo vi /etc/mysql/my.cnf 위 명령어를 실행한 뒤 로그 출력을 세팅해주면 된다. [mysqld] # 일..

애플리케이션을 구동 시켰는데 뜻밖의 오류를 발견했다.API가 정상적으로 작동하지 않았는데, 디버깅모드로 확인해보니 잠금 대기 시간 초과라는 오류를 처음 보게되었다.Caused by: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:123)at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)at com.mysql.cj.jdbc.e..

이전 포스터에서 Replication의 개념을 설명 했고, 이 후 실제로 MySQL에 적용하는 방법을 알아볼 것이다. 데이터베이스 리플리케이션(Replication)데이터베이스 리플리케이션(Replication) 실시간 복제본 데이터베이스 서버를 운용하는 것기준이 되는 서버를 마스터 서버라 하고, 마스터 서버와 동일한 내용을 갖는 또 다른 서버를 ‘리플sweet-rain-kim.tistory.com Replication이란? 복제(Replication)는 1개 이상의 레플리카(replica) 저장소가 소스 저장소와 동기화를 자동으로 유지하는 과정이다.(기존의 일반적으로 사용하였던 master-slave라는 용어를 source-replica로 대체하는 추세이다.) MySQL Rep..
바이너리 로그 DDL(Create, Drop, Alter)과 DML(Insert, Update, Delete)을 통해 데이터베이스, 오브젝트, 데이터에 생성,수정,업데이트를 했을 시 그 변화된 이벤트를 기록하는 이진 파일이 있는데 이것을 바이너리 로그라고 한다.(show나 select등 조회 문법은 제외된다) 용도1. 복제 구성에서 사용바이너리 로그는 마스터라는 서버에서 생성되고, 슬레이브 서버는 마스터 서버에 접속하여 이 바이너리 로그를 읽어와서 똑같이 그 이벤트를 실행시켜 마스터서버와 슬레이브 서버를 동일하게 만듭니다. 2. 특정 시점 복구에 사용데이터베이스를 사용하다보면 데이터 삭제나 데이터베이스가 어떤 이유로 장애나 크래쉬가 발생할 시 복구를 해야할 때가 있다. 이때 특정 시점 시간으로 돌아갈..
Database란 컴퓨터 시스템에 전자 방식으로 저장된 구조화된 정보 또는 데이터의 체계적인 집합을 의미한다. DBMS(DataBase Management System)란 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어를 말한다. SQL(Strucured Query Language)이란 관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이며, 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안되었다. RDBMS (Relational DataBase Management System) R은 Relational의 약자로 RD..

dump로 백업 후 프로젝트 실행 시 save할 때 아래와 같은 오류가 발생하여 검색해보았다. Caused by: org.hibernate.HibernateException: The database returned no natively generated identity value PK와 Auth Increment 문제라하여 테스트 겸 MySQL 워크벤치에서 데이터를 삽입한 후 삭제를 진행해보려하였으나 이번엔 아래와 같은 오류가 발생했다!! Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column. To disable safe mode, toggle ..

백업을 하는 방법으로는 두가지가 있다!터미널을 이용하는 방법과 워크벤치를 이용하는 방법이다. 우선 워크벤치를 이용하는 방법을 먼저 알아본 후 터미널로 이용하는 방법을 알아볼 예정이다. 백업하기 1. Workbench 이용 1. 복사할 데이터베이스 선택 후 export 2. 생성될 sql을 이용해 붙여넣기 할 DB에 이용 Export Option에서 Export to Self-Contained File 로 선택해줘야 하나의 SQL로 생성됨 2. 터미널 이용※ cd 를 통해 sql 파일을 만들 폴더로 미리 이동하기!# mysqldump -u [계정명] -p [스키마명] -h [ip주소] -P [포트번호] > [생성할 dump파일명].sql 백업 실행 시 아래와 같은 오류가 발생할 수 있다..

예를 들어 'USER'라는 대문자로 된 테이블을 생성한 후,Spring에서 @Entity(name="USER")로 명시해주었으나아래와 같이 table을 찾지 못하는 문제가 발생했다.Table 'DB명.테이블명' doesn't exist Spring에서 Hibernate 기본 설정에 의해 대소문자를 구별하지 않아 발생하는 문제이며,yml 설정을 통해 테이블 수정 없이 인식 가능하다. 1. MySQL 테이블 생성 설정을 확인show variables like 'lower%'; 위 명령어 입력 시 하기와 같은 데이터를 확인할 수 있다.'lower_case_table_names'이 0일 경우 대소문자를 구분, 1일 경우 구분하지 않는다.0(대소문자 구분)으로 만들어졌을 경우, 대문자 테이블은 JPA에서 읽어올..