• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 1. InnoDB 소개
    2. InnoDB의 개념과 아키텍처
    3. InnoDB 구성
    4. InnoDB 관리
    5. InnoDB 테이블 스페이스 관리
    6. InnoDB 테이블 관리
    7. InnoDB 압축 테이블
    8. InnoDB 파일 형식 관리
    9. InnoDB Row Storage and Row Formats
    10. InnoDB 디스크 I/O 및 파일 영역 관리
    11. InnoDB와 온라인 DDL
    12. InnoDB 부팅 옵션 및 시스템 변수
    13. InnoDB의 성능
    14. InnoDB INFORMATION_SCHEMA 테이블
    15. InnoDB 모니터
    16. InnoDB 백업 및 복구
    17. InnoDB와 MySQL 복제
    18. InnoDB 및 memcached의 통합
    1. InnoDB 및 memcached 조합의 장점
    2. InnoDB 및 memcached의 통합 아키텍처
    3. InnoDB Memcached 플러그인의 개요
    4. InnoDB memcached 플러그인의 보안 고려 사항
    5. InnoDB memcached 인터페이스용 응용 프로그램 만들기
    6. 복제에서 InnoDB memcached 플러그인 사용
    7. InnoDB memcached 플러그인 내부 구조
    8. InnoDB memcached 플러그인 문제 해결
    19. InnoDB 문제 해결
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

14.18.8 InnoDB memcached 플러그인 문제 해결

다음 목록은 InnoDB memcached 플러그인 사용시 발생하는 잠재적 인 문제와 해결책이나 해결 방법이 있으면 그것을 보여줍니다.

  • MySQL 오류 로그에 오류가 표시되는 경우 서버가 시작에 실패 할 수 있습니다.

     failed to set rlimit for open files. Try running as root or requesting
     smaller maxconns value.
    

    오류 메시지는 실제로는 memcached 데몬에서 나온 것입니다. 하나의 해결책은 열 파일의 수에 OS에 제한을 늘리는 것입니다. 명령은 운영 체제에 따라 다릅니다. 예를 들어, 일부 운영 체제에서 제한을 확인하여 증가시키는 명령을 보여줍니다.

     # Linux
     $ ulimit -n
     1024
     ulimit -n 4096
     $ ulimit -n
     4096
    
     # OS X Lion (10.6)
     $ ulimit -n
     256
     ulimit -n 4096
     $ ulimit -n
     4096
    
    

    다른 해결책은 -c 옵션을 사용하여 memcached 데몬에서 사용할 수있는 동시 연결 수를 줄임으로써 기본값은 1024입니다. MySQL 구성 파일의 MySQL 옵션 daemon_memcached_option 를 사용하여이 memcached 옵션을 인코딩합니다.

     [mysqld]
     ...
     loose-daemon_memcached_option = '- c 64'
    
    
  • memcached 데몬이 InnoDB 테이블에 데이터를 저장하거나 데이터를 검색 할 수없는 경우 문제를 해결하려면 MySQL 구성 옵션 daemon_memcached_option 를 사용하여 memcached 옵션 -vvv 를 지정합니다. MySQL 에러 로그를 확인하여 memcached 조작과 관련된 디버깅 출력이 없는지 검사합니다.

  • memcached 항목 값을 유지하도록 지정된 컬럼의 데이터 형식이 잘못된 경우 (예 : 문자열 대신 숫자 형식을 지정하는 등) 키 / 값 쌍을 저장하려고하면 특정 오류 코드 또는 메시지를 보내지 않고 실패합니다.

  • daemon_memcached 플러그인 MySQL Server 시작에 관련한 문제가 발생하면 MySQL 구성 파일의 [mysqld] 그룹 아래에 다음 줄을 추가하여 문제를 해결하는 동안 플러그인을 비활성화합니다.

     daemon_memcached = OFF
    

    예를 들어, 필요한 데이터베이스 및 테이블을 설정하는 innodb_memcached_config.sql 구성 스크립트를 실행하기 전에 install plugin 명령을 실행하면 서버가 충돌하여 시작하지 못할 수 있습니다. 또는 innodb_memcache.containers 테이블에 잘못된 항목을 설치 한 경우 서버가 시작되지 않을 수 있습니다.

    MySQL 인스턴스 용 memcached 플러그인을 영구적으로 해제하려면 다음 명령을 실행합니다.

     mysql> uninstall plugin daemon_memcached;
    
    
  • 동일한 시스템에서 MySQL의 여러 인스턴스를 실행하고 각각의 memcached 데몬 플러그인을 사용하면 daemon_memcached_option 구성 옵션을 사용하여 고유의 memcached 포트를 지정하십시오.

  • 기대하는 테이블을 SQL 문에서 발견하지 못하거나 테이블에 데이터가 없거나하더라도 memcached API 호출이 계속 작동하고 기대하는 데이터를 보유 할 수도 있습니다. 이것이 발생하는 것은 innodb_memcache.containers 테이블에 항목을 설정하지 않았거나, GET 또는 SET 요청에 키 @@ table_id 를 지정하고 실행하여 테이블로 전환 없거나 innodb_memcache.containers 의 기존 항목을 변경 한 후에 MySQL Server를 다시 시작하지 않은 경우입니다. 모든 데이터를 단일 컬럼에 저장하는 test.demo_test 테이블을 데몬이 사용하는 동안에도 자유 형식의 저장 메커니즘이 유연하기 때문에 col1|col2|col3 같은 멀티 컬럼 값을 저장하거나 검색 에 대한 요청은 일반적으로 계속 작동합니다.

  • 사용자 고유의 InnoDB 테이블을 InnoDB memcached와 함께 사용하도록 정의 테이블의 컬럼이 NOT NULL로 정의되어있는 경우, InnoDB 테이블에 대한 디스크립터를 memcached containers 테이블 ( innodb_memcached.containers )에 삽입 할 때 , NOT NULL 컬럼에 값을 지정합니다. 매핑 된 컬럼보다 기술자의 INSERT 문에 포함 된 구분 된 값이 더 적은 경우, 입력 값이없는 컬럼은 NULL로 설정됩니다. NULL 값을 NOT NULL 컬럼에 삽입하려고하면 INSERT 는 실패하지만 이것은 InnoDB memcached 플러그인을 다시 초기화하여 변경 사항을 containers 테이블에 적용 한 후에 처음으로 공개됩니다.

  • innodb_memcached.containers 테이블 cas_column 및 expire_time_column 를 NULL로 설정하면 memcached 플러그인을로드하려고하면 다음 오류가 반환됩니다.

     InnoDB_Memcached : column 6 in the entry for config table 'containers'in
     database 'innodb_memcache'has an invalid NULL value.
           

    플러그인 memcached는 cas_column 및 expire_time_column 컬럼의 NULL의 사용을 거부합니다. 이 컬럼을 사용하지 않는 경우는 컬럼의 값을 0 으로 설정하십시오.

  • memcached 키와 값의 길이가 증가함에 따라 다른 포인트에서 크기와 길이의 제한이 발생합니다.

    • 키의 크기가 250 바이트를 초과 할 경우 memcached 작업은 오류를 반환합니다. 이것은 memcached에서 현재의 고정 제한입니다.

    • 값의 크기가 768 바이트를 초과하거나 3072 바이트를 초과하거나 innodb_page_size 에서 지정된 크기의 1/2을 초과하면 InnoDB 제한이 발생할 수 있습니다. 이러한 제한은 값 컬럼에 인덱스를 작성하고 그 컬럼에서 SQL에서 보고서 생성 쿼리를 실행하려고 할 때 주로 적용됩니다. 자세한 내용은 섹션 14.6.7 "InnoDB 테이블에서의 제한" 을 참조하십시오.

    • 키와 값을 조합 한 최대 크기는 1M 바이트입니다.

  • 다른 버전을 가지고 MySQL Server간에 구성 파일을 공유하는 경우 memcached 플러그인의 최신 구성 옵션을 사용하면 이전 MySQL 버전에서 부팅 오류가 발생할 수 있습니다. 호환성 문제를 해결하려면이 옵션 이름 loose 형식을 사용하여 예를 들어 daemon_memcached_option='-c 64' 이 아니라 loose-daemon_memcached_option='-c 64' 로 지정합니다.

  • 문자 집합 설정을 검증하기위한 제약도 체크도 없습니다. memcached는 키와 값을 바이트 형식으로 저장하고 검색하기 위해 문자 집합의 차이를 구분하지 않습니다. 그러나 memcached 클라이언트와 MySQL 테이블에서 동일한 문자 집합을 사용해야합니다.


서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved