본문 바로가기

DB

(3)
[MySQL] Client does not support authentication protocol requested by server 개요 NodeJS로 MySQL에 연결해서 데이터를 입력하려고 했다. MySQL는 이미 몇번이고 이용한 관계로 연결 과정에서 에러가 날 것이라고는 예상도 못했다. 에러 Client does not support authentication protocol requested by server; consider upgrading MySQL client 클라이언트가 서버에서 요청한 인증 프로토콜을 소화할 수 없다고 한다. MySQL을 업그레이드 하라는 권유는 덤이다. 원인 password plugin이 원인이다. caching_sha2_password을 소화하지 못해서 발생하는데, mysql_native_password로 plugin을 변경하면 된다. ALTER USER @ IDENTIFIED WITH mysql..
[PostgreSQL] Client와 Pool Client와 Pool PostgreSQL의 NodeJS 라이브러리인 pg에서는 DB커넥션을 설정하는 방법이 2가지 있다. 하나는 pool이고, 하나는 client이다. node-postgres의 설명에 따르면 node-postgres는 libpq및 psql과 동일한 환경변수를 사용하여 PostgreSQL 서버에 연결한다고 한다. 개별 Client와 Pool 모두 이러한 환경 변수를 사용한다. const pool = new Pool({ user: 'dbuser', host: 'database.server.com', database: 'mydb', password: 'secretpassword', port: 3211, }) const client = new Client({ user: 'dbuser', ho..
MySQL의 Storage Engine Storage Engine 또는 Database Engine은 DBMS이 DB에 대해 데이터를 삽입,추출,업데이터,삭제 하는데 사용하는 기본 소프트웨어 컴포넌트이다. MyISAM MySQL의 기본 스토리지 엔진이고, 데이터 저장에 실제적인 제한이 없고 효율적 Full-Text 인덱스 지원, 특정 인덱스에 대해 메모리 캐시 지원. 트랜잭션 미지원. Table Lever Lock 지원하여 작업시 테이블 전체에 락이 걸려 다른 사람은 작업 불가. 잦은 변경 및 삭제에는 성능이 좋지 못하나 데드락 발생 예방 가능. 트랜잭션을 지원하지 않기 때문에 작업중 문제가 생겨도 DB로 데이터가 들어간다. 주로 Select 작업이 많은 경우 사용. InnoDB ACID 트랜잭션 지원. MyISAM보다 데이터 저장 비율 낮고..