DataBase(8)
-
mysql public key retrieval is not allowed 오류 해결 (Dbeaver)
DB 환경 docker로 mysql 이미지를 pull로 땡겨 온 후 컨테이너 생성 현상 "public key retrieval is not allowed " 문구 발생 후 연결 실패 해결법 MySQL 8.0 이상부터 생길 수 있는 문제였고 useSSL과 allowPublickeyRetrieval을 설정을 하면 해결이 된다. - useSSL: mysql db와 연결 시 SSL을 사용할지 여부를 나타낸다.(기본값은 MySQL 서버는 SSL을 지원한다) - allowPublickeyRetrieval : Mysql 서버가 공개 키를 검색할 수 있는지 나타내는 옵션(Mysql 8.0 이상부터는 false로 설정되어 있음) , 'ture'로 설정 시 서버가 사용자의 공개 키를 검색할 수 있어서 이 옵션은 주로 SS..
2023.08.29 -
Mysql vs PostgreSQL 비교
결론부터 말하면 - PostgreSQL: 복잡한 쿼리와 대규모 데이터베이스를 다룰 때 적합 - Mysql : 설치와 관리가 비교적 쉽고, 빠르고, 안정적이며 간단한 DB 사용시 적합 참고자료 https://www.integrate.io/ko/blog/postgresql-vs-mysql-the-critical-differences-ko/#generaloverviewofmysqlandpostgresql
2023.08.29 -
도커에 오라클 설치하기(mac m1 pro)
m1 pro 애플 실리콘 칩에서 도커에 오라클 xe11g를 설치해 실행하려고 하다가 잘안되서 구글링 중 가뭄속에 단비같은 글을 발견하게 되어서 공유하고자 한다. 1. colima 설치 https://github.com/abiosoft/colima 2. docker 설치 저는 여기서 docker destop을 설치하였습니다. 3. colima 실행 colima start --memory 4 --arch x86_64 4. 도커 실행 docker run --restart unless-stopped --name oracle -e ORACLE_PASSWORD=패스워드 -p 1521:1521 -d gvenzl/oracle-xe # docker logs -f (컨테이너명) docker logs -f oracle 참..
2023.08.21 -
Too Many Connection 트러블 슈팅
현상 배치 테스트 중 개발 DB 서버에 커넥션 연결 시 Too Many Connection 현상 발생 Mysql 상태 확인 max_connections : 최대 접속 수(151) Aborted_connections : MySQL 서버에 접속이 실패된 수(156530) Connections : 연결된 스레드 수(5601532) Max_used_connections : 최대로 동시에 접속한 수 (152) Threads_connected : Thread Cache의 Thread 수 (145) Threads_connected : 현재 연결된 Thread 수(151) Threads_created : 접속을 위해 생성된 Thread 수(17010) Threads_running : Sleeping 되어 있지 않은 T..
2023.02.16 -
Connection/Read Timeout
✅ Connection/Read Timeout에 대해서 알아보자 Connection Timeout Connection Timeout은 종단(EndPoint) 간 연결하는데 소요되는 최대 시간을 의미한다. 예를 들어, JAVA Application JDBC API DBMS 간의 소켓 통신을 이용해 통신한다. 이때 TCP 3 Way Handshake를 통해 연결을 생성하고, 이러한 연결을 소요되는 데 걸리는 시간을 의미한다.(그림 1 참고) Connection Timeout을 지정하지 않게되면 어떻게 될까? DB와의 커넥션을 맺는 임계치를 지정하지 않으면 커넥션을 맺기 위해 무한 대기 상태에 빠지게 되어 DeadLock에 걸리게 된다. 즉 프로세스가 정상 동작하지 못하게 된다. Read Timeout rea..
2022.08.22 -
트랜잭션 2편
✅ 트랜잭션 격리 수준에 대해서 알아보자 트랜잭션 격리수준(Isolation level) 트랜잭션 격리수준이란 동시에 여러 트랜잭션이 처리될 때, 트랜잭션끼리 얼마나 서로 고립되어 있는지를 나타내는 것이다. 쉽게 말하자면 특정 트랜잭션이 다른 트랜잭션에 변경한 데이터를 볼 수 있도록 허용할지 말지를 결정하는 것이다. 트랜잭션 격리 수준은 크게 4가지로 구성되어 있다. READ UNCOMMITED(커밋되지 않은 읽기) READ COMMITTED(커밋된 읽기) REPEATABLE READ(반복 가능한 읽기) SERIALIZABLE(직렬화 가능) READ UNCOMMITED ->SERIALIZBLE 순으로 갈수록 고립(격리) 정도가 높아지며, 성능이 떨어집니다. 격리 수준이 낮을수록 동시성은 증가하지만 격리 ..
2022.08.05