목록mysql error (6)
오늘도 한 뼘 더

# 배경 부하테스트를 진행하는 과정에서 부하가 걸리면서 AWS RDS에 대한 커넥션 수가 많아지면서 다음과 같은 에러가 발생하였다.Error 1040: Too many connections # 해결 방법 MySQL에서 max_connections 값을 변경해야 하는데 AWS RDS의 경우 파라미터 값을 변경해서 해당 값을 변경할 수 있다.변경하기 전 현재 max_connections 값은 다음과 같이 확인할 수 있다.SHOW GLOBAL VARIABLES LIKE 'max_connections'; AWS RDS > 데이터베이스 > 구성 > 파라미터 그룹max_connections를 찾아 수정해 준다.기본 RDS의 max_connections 기본값은 {DBInstanceClassMemory/125..

# 배경 mysql에 복원 작업을 진행 중이었는데 다음과 같은 에러가 발생하면서 복원 작업이 중단되었다. ERROR 1114 (HY000): The table 'tb_name' is full # 원인 및 해결 방법 테이블에 더 이상 데이터를 추가할 수 없을 때 발생한다. 이 오류는 원인이 여러 가지라고 한다. 오류와 해결 방법을 알아보았다. 1. 디스크 공간 부족 서버의 디스크 공간을 확인한다. 디스크가 가득 찬 경우, 불필요한 파일을 삭제하거나 디스크를 확장하여 공간을 확보한다. 2. InnoDB 저장 엔진 제한 InnoDB 저장 엔진을 사용하는 경우, 데이터 파일의 최대 크기에 제한이 있습니다. InnoDB 테이블 스페이스의 크기를 늘려야 할 수 있다. 구성 파일(my.cnf 또는 my.ini)을 수..

# 배경 데이터를 dump 한 뒤에 다시 import 하려는 sql문을 작성했다. # 문제 mysql -h 127.0.0.1 -u root -p < dump.sql 위의 sql문을 실행했는데 다음과 같은 에러 메세지가 발생하였다. ERROR 1046 (3D000) at line : No database selected # 해결 방법 import하려고 하는 파일에 "use database" 구문이 없어서 발생한 문제이다. 파일 편집기를 켜서 "use database;"를 추가할 수도 있지만 dump 한 파일의 용량이 크면 편집기를 여는데 부하가 걸릴 수 있어서 mysql구문에 데이터베이스 선택을 다음과 같이 작성했다. mysql -h 127.0.0.1 -u root -p --database=jihyunb ..

# 배경 데이터를 백업하고 복원하는 작업을 진행하였다. 복원하는 작업을 진행하는 중에 다음과 같은 에러가 뜨면서 복원이 진행되지 않았다. ERROR: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if ASCII '\0' is expected. Query: ''. # 문제 서버가 달라지면서 인코딩이 달라져서 한글이 깨져서 복원하는데 문제가 생긴 것이었다. # 해결 방법 백업하는 과정에서 캐릭터 셋 옵션을 주어서 해당 문제를 해결할 수 있다. mysqldum..

# 배경 SSH 접속을 통해 RDS로 접근을 하고자 하였다. 그런데 다음과 같은 에러가 반환이 되었다. Last Connection to MySQL server at 'reading initial communication packet', system error:0 # 해결방법 mysql hosts.allow 변경하기 host가 막혀서 일 수 있다는 이유를 듣고 다음을 적용하였다. $ /etc/hosts.allow > mysqld: Allow 하지만 이 방법으로는 해결이 되지 않았다. AWS 문서를 통해 알게 된 부분은 총 4가지 설정 값을 변경해 볼 수 있다고 했다. https://aws.amazon.com/ko/premiumsupport/knowledge-center/rds-mysql-communica..

# 배경 스트레스 툴 (J meter)를 사용하여 스트레스 테스트를 진행하기 위해 운영 데이터를 로컬 DB에 import 하여 운영환경과 같은 환경을 만드려고 한다. # 문제 import를 하는 과정에서 다음과 같은 에러가 발생하며 진행이 되지 않았다. ## 원인 show variables like 'max_allowed_packet'; max_allowed_packet 값이 4MB로 되어있다 에러가 발생한 곳의 쿼리문이 4MB를 넘어 처리를 할 수 없는 것이었다. 해당 쿼리에 텍스트 내용이 많아 발생한 문제 # 해결 방법 SET GLOBAL max_allowed_packet = 1073741824; max_allowed_packet의 값을 키워줬다. 10MB로 변경을 하고 돌려보니 제대로 import가..