Programming/Database 12

MongoDB 외부 접속 허용하기

MongoDB 를 처음 설치하면 localhost 를 통한 접속만이 가능합니다. 방화벽을 풀고, 포트 포워딩을 한다고 해도 설정을 변경해주지 않으면 외부에서 접속이 되지 않습니다. 요 파일을 수정해줘야 합니다. 저는 메모장을 이용해 수정했습니다. bindIp가 127.0.0.1 로 되어 있습니다. 모든 아이피에서 접속이 가능하도록 0.0.0.0 으로 변경해주었습니다. 다만 메모장을 관리자 권한으로 열어야 수정이 가능합니다! 이후 변경사항을 저장해줍니다. 하나 복사했습니다. 완전 확실한건 아닌데, Path가 program files 처럼 띄어쓰기가 들어갔더니 문제가 있었습니다. 경로에 한글이 있어도 문제가 있다고 합니다. 저는 그래서 dbPath와 logPath도 변경해주었습니다. mongod --conf..

windows ) MongoDB 설치하기

본 글에서는 windows에서의 설치를 진행합니다. mac의 경우에는 아래의 링크를 확인해주세요. shanepark.tistory.com/51 macOS) MongoDB 설치하기 docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/ Install MongoDB Community Edition on macOS — MongoDB Manual docs.mongodb.com MongoDB 공식 사이트의 가이드를 참고하며 설치했습니다. 설명이.. shanepark.tistory.com www.mongodb.com/try/download/community?tck=docs_server MongoDB Community Download Download the Commun..

windows ) Robo 3T 설치하기

robomongo.org/download Robomongo Robo 3T: the hobbyist GUI Robo 3T 1.4 brings support for MongoDB 4.2, and a mongo shell upgrade from 4.0 to 4.2, with the ability to manually specify visible databases. Download Robo 3T Only robomongo.org 위의 링크를 통해 다운받습니다. 이메일 주소를 입력 해야 다운 받을 수 있는 구조입니다. 특별히 어려울 것은 없고, 다음 버튼만 계속 눌러주면 간단히 설치할 수 있습니다. 실행하면 약관에 동의를 해야 합니다. 뭐 입력하는게 나오긴 한데 저는 그냥 Finish 버튼을 눌렀습니다. Conn..

MySQL/MariaDB windows에서 서버 켜기 & 끄기 + net start mysql서비스 이름이 잘못되었습니다. 에러 해결

MariaDB를 재시작 하려고 net start mysql를 입력했는데 서비스 등록이 되어있지 않아 명령어가 먹히지 않았습니다. mysql -install 을 입력하면 서비스 등록이 됩니다만, CMD를 관리자 권한으로 실행하지 않으면 Denied 됩니다. 관리자 권한으로 입력하니 성공적으로 서비스 등록이 됩니다. 그런데 사실 확인하고 보니 서비스 이름이 mariadb로 등록되어 있었습니다. mysql말고 mariadb로 입력을 하니 서비스 명령이 잘 작동합니다. Mysql 이라면 위의 서비스 등록으로 해결이 되었을 것이고, MariaDB라면 mariaDB가 서비스로 등록되어있는지 확인해보세요. 서비스 켜고 끌떄 cmd 가 관리자 권한으로 실행되어야합니다. net start mariadb로 서비스를 실행 ..

MYSQL / MariaDB 최대 접속 확인 및 늘리기

show variables like '%max_connect%'; 동시접속 설정을 확인하는 쿼리입니다. 위의 쿼리 실행시 아래와 같이 max_connections 정보를 볼 수 있습니다. 아마 변경 전에는 151 으로 설정되어 있었던 걸로 기억합니다. mysql은 기본이 100 입니다. show status like 'threads_connected';​ 현재 접속중인 커넥션을 확인 하는 쿼리입니다. set global max_connections = 300; 최대 커넥션을 변경하는 쿼리입니다. 오라클에서는 최대 process 를 변경하고 나서 재시작을 해야 적용이 되었었는데, 일단 껐다 키지 않아도 변경한 max_connection으로 조회가 잘 됩니다. 참고로 서버 재시작은 net stop maria..

No suitable driver found for jdbc:log4jdbc:mariadb:// 해결하기

MariaDB로 DB를 구축 했지만, MYSQL 커넥터로 연결할때는 문제가 없었습니다. 그러다가, 검색해보니 MYSQL 커넥터를 사용하는거 또한 GPL 라이센스로 오염된 것 이라며 MariaDB 커넥터를 사용하기를 권장하는 글을 보고 커넥터를 변경했습니다. org.mariadb.jdbc mariadb-java-client 2.7.2 위의 Dependency를 추가하고, 기존의 mysql connector를 제거 했는데, 에러가 발생했습니다. mariadb 드라이버를 찾지 못했습니다. 이때는 main/resources/log4jdbc.log4j2.properties 파일에 한줄을 추가해줘야 합니다. 저는 기존의 myslq을 쓰며 아래의 2번쨰 라인만 있었는데, 1번 라인 내용을 추가함으로써 mariadb ..

windows 10에 MariaDB 설치하기 & 계정생성 & 권한부여

MariaDB란 ? MYSQL이 Oracle으로 넘어간 후, 라이선스에 대한 불확실성을 해결하기 위해 나온 관계형 데이터베이스 입니다. Oracle 로서는, 본인들의 가장 큰 라이벌이었던 MYSQL을 인수 한 뒤에는 돈벌이가 잘 되는 오라클을 두고, MYSQL을 더이상 개발할 이유가 없다보니 내팽겨 졌습니다. MYSQL5.5 버전을 기준으로 포크된 MariaDB 5.5 버전은 이후로 MySQL과의 호환성을 최대한 유지하면서 좀더 나은 성능을 구현해 왔습니다. 10.2부터는 MySQL의 개발 속도를 앞서나가서 오히려 이쪽 기능이 MySQL로 역수출되고 있는 실정이라고 합니다. 최종 프로젝트를 앞두고 학원에서 쓰는 Oracle이 아닌 거의 써보지 않은 MySQL을 시도해보자 했는데, 이왕 하는거 MariaD..

MYSQL)Data too long for column 에러 해결

[http-nio-80-exec-6] ERROR j.sqlonly - 1. PreparedStatement.execute() UPDATE LIC_ALBA SET LIC_IMG = '' WHERE AL_ID = 'A0000016' AND LIC_CODE = 'L006' com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'lic_img' at row 1 MYSQL에서 데이터를 넣으려 할때 위의 에러가 뜬다면 해당 컬럼에 들어갈 수 있는 최대 값보다 넣으려고 하는 데이터가 더 큰 상황입니다. 숫자나 CHAR, VARCHAR2 등을 넣으려고 했다면 테이블의 해당 컬럼의 Length가 몇으로 되어있는..

Oracle) ORA-01031: insufficient privileges 해결하기

Error report - ORA-01031: insufficient privileges 01031. 00000 - "insufficient privileges" *Cause: An attempt was made to perform a database operation without the necessary privileges. *Action: Ask your database administrator or designated security administrator to grant you the necessary privileges View를 만들려고 하는데 권한이 없다는 에러로 애를 먹었습니다. 제가 사용자를 만들때 뷰를 만들 수 있는 권한을 주지 않았기 때문이었습니다. 오라클 시스템 계정 (syste..

JSP 수업) 데이터 베이스 10개 문제 풀어보기 - 조인 쿼리 작성

1. 남녀 성별 인원수 조회 SELECT * FROM (select COUNT(*) AS MEN from member where SUBSTR(mem_regno2,1,1) = '1' OR SUBSTR(mem_regno2,1,1) ='3' ), (select COUNT(*) AS WOMEN from member where SUBSTR(mem_regno2,1,1) = '2' OR SUBSTR(mem_regno2,1,1) ='4' ) 2. 지금까지 한번도 상품을 구매한 적이 없는 회원의 인적사항 조회(아이디, 이름, 이메일) select mem_id, mem_name, mem_mail from ( select mem_id, mem_name, mem_mail, count(cart_member) as orders ..

Programming/Database 2021.04.07 (3)

인스타그램 follow 를 위한 테이블 설계

follow 테이블 설계 follow table은 유저들간의 follow를 구현하기 위해 만든 테이블 입니다. users 테이블에 있는 각각의 유저들은 서로를 follow 할 수 있습니다. 해당 기능을 위해서는 유저들간의 관계를 맺어주는 테이블이 필요합니다. follow 관계에 대한 정보를 가지고 있는 follow 테이블을 생성했습니다. FOLLOW 테이블은 어떤 유저가 어떤 유저를 follow 하고 있는지에 대한 정보를 담고 있습니다. follower 는 'follow'를 하는 유저 followee 는 follower 에게 follow를 받는 유저를 뜻합니다. follower 와 followee 모두, users 테이블에서 Foreign key 로 연관되어 있습니다. ID Column은 number값을..

AWS 특정 아이피 주소에서만 접속 될 때 해결 방법

AWS 특정 ip 에서만 접속 될때 해결방법 Amazon Web Service 프리티어 서버를 열때 public으로 연다고 연 것 같은데 서버를 생성한 장소에서의 DB에 접속은 문제가 없었는데 다른 곳에서 접속을 하니 접속을 거부 당하는 상황이 있었습니다. localhost가 아니니 외부에서도 접속이 되어야 하는게 당연한데 특정 ip에서만 접속이 된다면 서버 보안상 특정 ip에서만의 접속만을 허용했을 가능성이 높습니다. 일단 접속정보나 아이디/비밀번호를 잘못 입력했는지 확실하게 확인 후, 특정 아이피에서만 접속된다는게 확실시 될 경우에는 아래의 과정을 통해 문제를 해결하실 수 있습니다. 지금부터 AWS 보안 설정을 변경해, 허용 ip 를 추가 하거나, 어느 ip 에서도 접속이 가능하도록 허용하는 방법에 ..

728x90