제목 | MariaDB & MySQL 데이터베이스 단위 관련 질문입니다. | ||
---|---|---|---|
카테고리 | DB | ||
글쓴이 | 브레인토스트 | 작성시각 | 2018/04/18 16:38:50 |
|
|||
데이터를 분리해서 관리하기 위해서 각 회원별로 고정된 Database를 가지게 만들엇는데요. 로컬에서 테스트 하는중에 mysqli::real_connect(): send of 110 bytes failed with errno=32 Broken pipe와 같은 오류가 계속 발생합니다.
DBMS 안에 Database를 여러개 만들어둔 상황인거죠
예를 들면 회원1은 USER1_DB 데이터베이스의 테이블에 접근하는 식으루요.
근데 마이그레이션을 로컬에서 진행하고나니 계속해서 위와 같은 오류가 나는데요. 검색을 해보니 max_allowed_packet 관련 오류라고 하는 것 같은데 아무렇지도 않게 쓰이다가 마이그레이션을 진행한 후에 이러한 오류가 생기는것은 어떤 원인에 의해서 그런건지 알 수 있을까요 ? |
|||
다음글 | phpexcel 사용하여 excel download시 ... (4) | ||
이전글 | 코드이그나이터, 이클립스, XAMPP 연동 및 USB에... (2) | ||
양승현
/
2018/04/19 18:04:05 /
추천
0
|
변종원(웅파)
/
2018/04/19 18:27:57 /
추천
0
mysql data 저장되는 곳을 보면 데이터베이스는 디렉토리, 테이블은 1~3개의 파일로 저장됩니다. 디렉토리와 파일이 특정 수 이상 많아지면 시스템 자체가 느려집니다. (하나의 디렉토리에 수 많은 이미지 파일을 저장한 경우 ls 명령을 쳤을때 느려지는 현상과 동일합니다.) 디렉토리가 많아지니 가져오는 시간이 많아지고 시간제한에 걸릴 수 있습니다. 결론은 좋은 방식이 아닙니다. 보안때문도 아닌 것 같고(보안 때문이라도 잘못된 사고방식입니다.) 저렇게 관리하는 이유가 뭔지 물어봐도 될까요? ^^ |
브레인토스트
/
2018/04/25 10:20:24 /
추천
0
@웅파 일단 보안적인 이슈 때문에 그런건 아니구요. 제품 특성상 센싱 데이터가 생성되는데 이거를 사용자별로 나눠서 접근이 가능하게끔 바꾸고싶더라구요. 그래서 DB단위로 나눠서 사용자가 그 센싱된 데이터에 접근하려면 자신의 계정 정보가 저장된 테이블에 참조할 수 있는 데이터베이스 이름으로 접근을해서 사용하게끔하려고 했던것입니다. 데이터가 무슨 오류가 있다고 고객이 얘기했을때 특정 계정이 참조하는 데이터베이스만 확인해보는 이점이 있을 것 같아서 그렇게 처리했는데 실제로 DB 디렉토리가 많아진다는 것을 간과한것같네요.. 답변감사합니다 ㅠ |
브레인토스트
/
2018/04/25 10:21:00 /
추천
0
@양승현 답변감사합니다 참고하도록 하겠습니다 ㅎ |
my.cnf 파일의 wait_timeout 부분을 늘리라는 글이 있네요.
참고 :
https://stackoverflow.com/questions/1894317/mysql-pconnect-send-of-5-bytes-failed-with-errno-32-broken-pipe?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa
다른부분으로는..
Broken pipe at means that clamav closed the socket. This occures alway, when maxstreamlength is reached.
=> 깨진 파이프는 clamav가 소켓을 닫았다는 의미입니다. 이것은 maxstreamlength에 도달하면 항상 발생합니다.
라고 하는군요..
좀더 찾아봐 드리고 싶지만.. 정모시간이...