데이터베이스
-
[에러해결]TypeOrmModule : Access Access denied for user 'username'@'ip' to database 'DB명'데이터베이스 2023. 9. 1. 15:15
mysql 을 사용하고 있는 프로그램을 개발해서 서버에 올리니 이런 에러가 났었다. 접속 권한과 관련된 에러같은데, 어디서 잡아야할지 감도 안잡혔다. 알고보니 내가 사용하고 있는 서버유저가 mysql 특정 DB 이용권한이 없어서 그런것. 해결방법 0. plugin이 mysql_native_password인지 확인 Use mysql; SELECT User, Host, Plugin from mysql.user; 1. mysql 접속 mysql -u root -p 2. 현재 접속해있는 ip의 user에게 내가 사용하고자 하는 DB에 대한 권한이 있는지 확인. show grants for 'username'@'ip'; -- 이때 ip는 반드시 xxx.xxx.xx.xx 일 필요없다. 명으로 와도됨 3. (없다면)..
-
테이블이 있는데 없다고 하고 삭제가 안될 때데이터베이스 2023. 8. 4. 18:18
https://doinge-coding.tistory.com/entry/mySql-frm-ibd%ED%8C%8C%EC%9D%BC%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B3%B5%EA%B5%AC-docker-%EC%9D%B4%EC%9A%A9%EB%B0%A9%EB%B2%95-%ED%8F%AC%ED%95%A8#:~:text=*%20frm%20%ED%8C%8C%EC%9D%BC%EC%9D%B4%20%ED%85%8C%EC%9D%B4%EB%B8%94%20%EA%B5%AC%EC%A1%B0,%EC%9D%B4%EB%9F%B0%20%ED%98%95%EC%8B%9D%EC%9C%BC%EB%A1%9C%20%EB%93%A4%EC%96%B4%EA%..
-
제 2정규형과 제 3정규형의 차이데이터베이스 2023. 7. 7. 14:34
늘.. 헷갈렸던 개념 외우기에는 부분함수종속이 제거된것, 이행함수종속이 제거된 것이라고는 외웠는데 그걸 막상 테이블화해서 보면 뭐가 뭔지 구분이 잘 안갔다. (도부이결다조) 강의를 보면서 해결되었는데 (인프런 백엔드 부트캠프), 종속된 컬럼이 복합키(or PK)에 걸쳐져있으면 2NF PK와 상관 없으면 3NF가 되는 것이다. 그래서 왼쪽 테이블을 보면 이름과 나이 컬럼을 따로 빼서 하나의 '회원' 테이블을 생성할 수 있다. 이 때 해당 컬럼들은 .PK인 주문번호와 동떨어져있다. 즉, 그렇게 분해되면 3정규형이라는 것. 반면, 오른쪽 테이블을 보면 상품번호와 상품명을 '상품' 테이블로 따로 뺄 수 있는데, 이 경우 상품번호는 주문번호와 함께 하나의 복합키로 위치해있다. 그래서 이렇게 분해한 테이블은 제 2..
-
[MongoDB] mongo --version 등 cmd에서 mongo 명령어 실행이 안될 때데이터베이스 2023. 6. 27. 18:32
분명히 mongoDB 설치가 잘 되었고, localhost:27017로 들어가면 아래 화면처럼 접속도 잘된다. 환경변수에 등록도 해주고 했는데, cmd에서 mongo --version으로 기본적인 버전확인조차 안되어서 뭘까 싶었다. 알고보니 내가 설치한 6.0버전부터는 mongo 명령어를 지원하지 않는다고 한다. https://www.mongodb.com/community/forums/t/mongo-mongodb-command-not-working-and-environment-variable-path-is-also-set/186599 Mongo/mongodb command not working and environment variable path is also set I have done all thin..
-
INSERT INTO SELECT SUBQUERY : A컬럼 값을 B컬럼으로 복사하기데이터베이스 2023. 2. 7. 16:02
UPDATE monitor_db.monitor_info SET elapsed_time_timedelta = (select substr(process_elapsed_time, 7,1)) WHERE elapsed_time_timedelta is null; *같은 테이블에서 가져올 경우 subquery로 불러오는 select 쿼리에 from을 따로 붙이지 않아야함. 데이터를 넣는거라 계속 insert로 적용했었는데, 생각해보니 update set으로 값을 '변경'하는거였다.
-
[SQL]SELECT 결과 하나의 테이블로 합치기 (UNION, SELECT의 재SELECT)데이터베이스 2023. 1. 26. 14:52
select count(process_result)as 'success' from monitor_db.monitor_info where process_result = 'SUCCESS' UNION ALL select count(process_result)as 'fail' from monitor_db.monitor_info where process_result = 'FAIL'; UNION 만 써도 된다. 각각의 값이 구분지어져있기 때문에. 근데 내가 원하는건 success와 fail이 각기 다른 열로 출력되는건데, success로 묶여있다. UNION은 원래 아래로 내려가는 것이기 때문 select( select count(process_result) from monitor_db.monitor_info wh..