본문 바로가기
반응형

서버71

Mysql Foreign key checks Mysql 관리 도중 마주친 아래와 같은 에러 문구 해결방법에 대해 알아보겠습니다. ERROR: cannot truncate a table referenced in a foreign key constraint 해당 에러가 나는 이유는 비교적 간단합니다. 바로 의미자체가 외래 키 제약 조건 위반 또는 해당 쿼리 실행이 안된다는 의미입니다. 하지만 Mysql 에서는 이 제약 조건 자체를 무시하는 방법이 있습니다. 비교적 간단한데요. 바로 아래명령을 통해 가능합니다. set foreign_key_checks = 0; 이것은 바로 외래 키 제약 조건을 무시하겠습니다 라는 뜻으로 외래 키 제약조건에 해당하는 모든 action이 가능해집니다. 자 그럼 아래 순서대로 action을 실행해 주시면 되겠습니다. 1. s.. 2021. 10. 12.
[Linux] 파일 내용만 지우기 리눅스 상에 모든 내용 및 행위는 파일로써 정의됩니다. 그중 우리가 중요하게 생각하는 서버를 운영하는 데 있어서 필수인 Log File이 용량이 커지는 순간 이름을 바꿀수도 없고 어떻게 파일을 관리해야 할까요?! logrotate 등 다양한 방법이 있지만 그중에서 문제가 되는 파일의 내용을 삭제하는 방법에 대해서 알아보도록 하겠습니다. 전문적이고 안전하게 관리하려면 logrotate를 추천드립니다. 이번에 알려드리는 방법은 해당 파일의 내용이 필요도 없고 용량만 잡아먹고 있으며 계속 쌓이는 로그라고 했을 때 해결 방법입니다. 간단하게 파일은 그대로 두고 내부에 쓰인 내용만 깔끔하게 백지화시키는 방법으로 아래의 명령어를 통해 간단하게 구현할 수 있습니다. cat /dev/null > 파일이름 예를 들어 A.. 2021. 9. 15.
[Linux] 오픈소켓 확인 / Open Socket Count 리눅스에서 프로그램을 운영할때 중요한점은 File descript를 관리하는 부분일 것입니다. 만약에 해당 프로그램에 File descript의 Max Open 이 1000대라고 가정할 때 소켓이 1000대이상 넘어가면 새로운 Client는 해당 서버에 접속 할 수 없는 문제가 발생 하므로 관리자는 항상 소켓을 확인하여 관리해야 합니다. 자 그럼 리눅스에서 해당 프로그램의 소켓이 몇개가 열려있고 통신중인지 확인할수 있는 방법에는 무엇이 있을까요? 1. 해당 프로그램의 PID 번호를 통해 가능합니다. 현재 리눅스에서 PID조회시 여기서는 gps_trackin이라는 프로그램을 기준으로 설명하겠습니다. 해당 프로그램이 동작중이며 PID값이 31688 이라는것을 알 수 있습니다. 자 그럼 해당 프로그램의 소켓은.. 2021. 9. 13.
[Linux] TCP/IP란? 안녕하세요 오늘은 서버 통신에서 가장 기본적일 수 있는 통신 방식인 TCP/IP 통신에 대해 알아보겠습니다. TCP/IP란 서버를 만드는데 반드시 알아야 하는 개념이란 점 꼭 명심하세요 자 그럼 서버를 접하는데 있어서 TCP/IP 통신이란 말을 정말 많이 들어보셨을겁니다. 전문적인 설명으로는 아래와 같이 설명될 수 있겠네요. TCP(Transmission Control Protocol) : 서버와 클라이언트 간에 데이터를 신뢰성있게 전달하기 위해 만들어진 프로토콜입니다. IP(Internet Protocol) : IP는 컴퓨터들의 네트워크 상에서 구분되기 위한 예를들면 실생활의 우편주소와 같은 주소입니다. 자 여기서 더 알기 쉽게 설명하면 아래와 같이 되겠네요. 위그림과 같이 IP는 데이터가 찾아갈 주소.. 2021. 9. 13.
Duplicate entry for key 'PRIMARY' Mysql을 사용하면서 격는 가장 흔한 문제 중 Insert나 Update를 하려 하는데 아래와 같은 문구를 많이 접하게 됩니다. Duplicate entry '0' for key 'PRIMARY' 이건 말 그대로 내가 Insert 나 Update하기 위한 값이 Primary 값이라 동일한 값으로 쿼리문을 실행 할 수 없다는 의미입니다. 예를들어 위와같이 테이블이 작성되어 있고 여기에서 이름이 PRIMARY 값으로 설정되어 있다고 가정하면 Insert into A테이블 set 이름 values 영심이 이렇게 영심이는 이름 항목에 겹치는 이름이 없기 때문에 문제없이 쿼리문이 잘 실행됩니다. 하지만 아래와 같이 실행해도 과연 잘 실행될까? Insert into A테이블 set 이름 values 맹구 이렇게 .. 2021. 9. 13.
[Linux] 시간 동기화 리눅스 서버를 운영하다 보면 Log나 DB에 데이터를 저장 시 시간이 현재 시간과 맞지 않는 경우가 있습니다. 이럴 경우에는 수동으로 시간 동기화를 할 수 있지만 Crontab을 이용해서 일정 시간마다 동기화를 자동으로 하도록 해주면 시간이 틀어질 일이 없습니다. 일단 동기화를 하기 위해서는 사용 가능한 TimeServer를 선택합니다. time.bora.net time.nuri.net time.windows.com ntp.kornet.net time.nist.gov 위 항목 중 하나를 선택해서 사용하시면 됩니다. 동기화 명령은 생각보다 간단합니다. rdate -s time.bora.net 이렇게 입력하게 되면 현재 리눅스 시간을 time.bora.net에서 받아와 동기화합니다. 하지만 매번 틀어질 때마.. 2021. 9. 9.
반응형