httpd, mysqld 네트워크 외부로 커넥션 허용

LINUX SERVER DB

selinux 가 실행중일 때 아래와 같이 네트워크 관련 옵션이 on 되어있지 않으면 내부에서 외부로의 네크워트 연결이 불가하다.아래와 같이 명령 해주면 정상적으로 커넥션이 가능하다.. setsebool httpd_can_network_connect onsetsebool httpd_can_network_connect_db onsetsebool mysql_connect_any onsetsebool mysql_connect_httpd on

Continue Reading

MySQL, MariaDB 유저 추가

MariaDB, MySQL DB

매번 phpMyAdmin 등의 툴을 이용해서 유저 생성 및 관리를 하다보니 콘솔에서 하려면 매번 검색을 해야하는 번거로움이 있었다. 이번에 여차저차 해서 새로 세팅하게 된 서버에는 GUI 툴을 설치하지 않아서 명령어로만 유저 세팅을 진행하게 되었고 여러 계정들을 세팅하다보니 자연스레 손에 익게 되어서 정리를 해 둔다. [유저 생성]create user 유저명@호스트명 identified by ‘패스워드’; 위의 명령어는 유저명에 해당하는 유저를 …

Continue Reading

PM2 reload 시 서비스 중단되지 않게 하기

MariaDB, MySQL DB

PM2로 node app을 구동 시 reload를 하면 일시적으로 서비스 중단이 발생한다.새로운 프로세스가 아직 서비스할 준비가 되지 않았는데 PM2가 기존 프로세스를 종료시켜버리기 때문.단순한 서비스라면 reload에 시간이 걸리지 않지만 db connection이나 시간이 소요되는 로직이 수행되어야 한다면 100% 일시적인 서비스 중단이 있을 수 밖에 없다. 이를 방지하기 위해 app의 listen이 완료되었을 시에 다음 코드를 넣어줌으로 PM2로 하여금 프로세스가 …

Continue Reading

MySQL 일정 기간동안 사용하지 않은 테이블 리스트 가져오기

MariaDB, MySQL DB

DB를 운영하다 보면 시간이 지남에 따라 테이블들이 쌓여가고 나중에는 사용하지 않는 테이블들도 많이 생기기 마련이다. (관리를 제대로 안 했다는 증거…?! _-_) 암튼 그럴 경우 무턱대고 테이블을 정리할 순 없으니 일정한 기준을 가지고 정리하게 된다. 일정 기간 이내에 사용되지 않은 테이블 목록을 가져올 수 있다면 정리하는게 더 수월해 지지 않을까? 다음 쿼리를 사용하면 일정 기간 내에 …

Continue Reading

MySQL (or MariaDB) 단일 쿼리 패킷 용량 설정 max_allowed_packet

MariaDB, MySQL DB

DB에 데이터를 입력 혹은 업데이트 시 데이터가 아~~~주~~~ 큰 경우 정상적으로 쿼리가 업데이트 되지 않는다. 이유는 DB 설정에서 쿼리 시 전송 가능한 최대 패킷의 크기를 넘어섰기 때문. 이럴 때 다음과 같은 쿼리를 날려주면 원활하게 데이터 입력 및 업데이트를 할 수 있다. 예를들어 200MB를 전송 가능하게 하고자 단다면 1024 * 1024 * 200 과 같이 쿼리하면 …

Continue Reading

실수로 삭제한 MySQL ROOT 계정 복구

MariaDB, MySQL

얼토당토않은 실수를 해버렸다. 운영 중인 서버의 개발 서버에서 사용하지 않는 Database들을 삭제하는 과정에서 실수로 ROOT 계정을 포함해서 삭제해버린 것이다. 아뿔싸. 이미 때는 늦었다. 하지만 다행인 것은 실제 서비스 중이 아닌 개발 서버 환경이라는 것…; root 계정 없이는 다른 계정 추가 삭제는 물론 데이터베이스 관리가 불가하기에 정말 난감한 상황이 아닐 수 없다. 하지만 손쉽게 복구할 수 있는 방법이 있으니 당황은 금물! …

Continue Reading

mysqldump 이용 시 Got error: 1016 에러 발생 시 대처 방법

MariaDB, MySQL

서버 이전 작업을 진행하다가 발생한 에러에 약간 당황했지만 당황하지 않고(?) 검색을 통해 해결한 것을 남기고자 한다. MySQL DB를 (정확히 말하자면 MariaDB…) 덤프 해서 다른 서버로 옮겨야 하는 상황이 발생. mysqldump를 써서 덤프 하려는데 웬걸! mysqldump: Got error: 1016: “Can’t open file: ‘./db_name/table_name.frm’ (errno: 24)” when using LOCK TABLES  위와 같은 에러가 뜨면서 진행이 되지 않는 것이다! 이럴 때는 다음과 같은 옵션을 사용해 주면 간단히 해결된다.  mysqldump -u 사용자면 -p 패스워드 DB명 –lock-tables=false > 덤프파일명.sql  “–lock-tables=false”만 기억하자~

Continue Reading

ORACLE DATA 오라클 데이터 복구 (일정 시간 이내)

Oracle

DB를 사용하다 보면 정말 난처한 상황에 직면할 때가 있다.. 예를 들어서  중요한 회원 데이터 테이블을 핸들링 하다가 정신이 없어서 WHERE 문을 잊었다…? 오마갓.. 대형 사고다… 이번 포스팅에서는 ORACLE에서 실수로 날려버린! (혹은 수정해버린) 데이터를 복구할 수 있는 소중한 쿼리를 알아보도록 하자. 다음과 같은 예를 들어보자. 위와 같은 구조의 PULLIM_ORA_TEST라는 테이블이 있다. 이제 막 DB를 배워서 관리하게 된 ‘가상‘의 전산 관리자 ‘풀리미‘는 회원가입 테스트를 위해 자신의 기존 아이디를 삭제하고자 한다. 그를 위해 다음과 같이 SQL 문을 작성하고 실행, 커밋을 하기에 이른다. DELETE FROM PULLIM_ORA_TEST; COMMIT; 헐 그런데..!! 큰일이 났다… 커밋을 완료 한 후 정신을 차려보니 WHERE 문을 빼먹었네..??!! …

Continue Reading

Oracle 서버 IP 변경 시 해줘야 할 것들…

Oracle SERVER

– 오라클 설치 경로로 이동 – listener.ora 파일의 IP 관련 부분 수정 – tnsnames.ora 파일의 IP 관련 부분 수정 – 제어판 > 관리도구 > 서비스 > 오라클 리스너 재시작…(이라고는 하는데 리스너만 재시작해서는 적용이 안되는 듯… 서버 재부팅을 해주면 잘 변경됌!) 출처는 http://expert0226.tistory.com/227 이곳!!^^

Continue Reading