• 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 문법
  • 1. 데이터 정의 문
    2. 데이터 조작 문
    3. MySQL 트랜잭션과 잠금 문
    1. START TRANSACTION, COMMIT 및 ROLLBACK 구문
    2. 롤백 할 수없는 문
    3. 암시 적 커밋을 발생시키는 문
    4. SAVEPOINT, ROLLBACK TO SAVEPOINT 및 RELEASE SAVEPOINT 구문
    5. LOCK TABLES 및 UNLOCK TABLES 구문
    6. SET TRANSACTION 구문
    7. XA 트랜잭션
    1. XA 트랜잭션 SQL 구문
    2. XA 트랜잭션의 상태
    4. 복제 문
    5. Prepared Statements위한 SQL 구문
    6. MySQL 복합문 구문
    7. 데이터베이스 관리 문
    8. MySQL 유틸리티 문
  • 14. 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 새로운 기능

13.3.7.1 XA 트랜잭션 SQL 구문

MySQL에서 XA 트랜잭션을 실행하려면 다음 문을 사용합니다.

XA {START|BEGIN} xid [JOIN|RESUME]

XA END xid [SUSPEND [FOR MIGRATE]]

XA PREPARE xid

XA COMMIT xid [ONE PHASE]

XA ROLLBACK xid

XA RECOVER 

XA START 는 JOIN 및 RESUME 절은 지원되지 않습니다.

XA END 는 SUSPEND [FOR MIGRATE] 어구는 지원되지 않습니다.

각 XA 문은 XA 키워드로 시작하며 그 대부분 xid 값이 필요합니다. xid 는 XA 트랜잭션 식별자입니다. 이것은이 문이 어떤 거래에 적용되는지를 보여줍니다. xid 값은 클라이언트가 제공되거나 MySQL 서버에서 생성됩니다. xid 값은 1 개에서 3 개 부분이 포함되어 있습니다.

 xid : gtrid [, bqual [, formatID ]

gtrid 는 글로벌 트랜잭션 식별자이며, bqual 브런치 한정자이며, formatID 은 gtrid 및 bqual 값으로 사용되는 형식을 식별하는 숫자입니다. 구문에 표시된대로 bqual 과 formatID 는 옵션입니다. bqual 가 지정되지 않은 경우 기본값은 '' 입니다. formatID 가 지정되지 않은 경우 기본값은 1입니다.

gtrid 와 bqual 는 각각 최대 64 바이트 (64 자 아닙니다) 문자열 리터럴이어야합니다. gtrid 와 bqual 은 여러 가지 방법으로 지정할 수 있습니다. 따옴표로 둘러싸인 문자열 ( 'ab' ) 16 진수 문자열 ( 0x6162 , X'ab' ) 또는 비트 값 ( b' nnnn ' )를 사용할 수 있습니다.

formatID 는 부호없는 정수입니다.

gtrid 및 bqual 값은 MySQL 서버의 기반이되는 XA 지원 루틴은 바이트 단위로 해석됩니다. 그러나 XA 문을 포함하는 SQL 문을 구문 분석하는 동안 서버는 무엇에서 특정 문자 세트로 작동합니다. 안전을 위해 gtrid 와 bqual 는 16 진수 문자열로 기술 해주십시오.

xid 값은 일반적으로 트랜잭션 관리자에 의해 생성됩니다. 있는 TM에 의해 생성 된 값은 다른 TM에 의해 생성 된 값과는 달라야합니다. 특정 TM은 XA RECOVER 문에 의해 반환 된 값의 목록에서 자신의 xid 값을 인식 할 수 있어야합니다.

XA START xid 는 지정된 xid 값을 사용하여 XA 트랜잭션을 시작합니다. 각 XA 트랜잭션이 고유의 xid 값을 가지고 있어야하므로 그 값이 현재 다른 XA 트랜잭션에 의해 사용되지는 안됩니다. 독창성은 gtrid 및 bqual 값을 사용하여 평가됩니다. XA 트랜잭션에 대한 이후의 모든 XA 문을 XA START 문에서 지정된 것과 같은 xid 값을 사용하여 지정해야합니다. 이러한 문 중 ​​하나를 사용하고 있지만 기존의 XA 트랜잭션을 지원하지 않는 xid 값을 지정하면 오류가 발생합니다.

하나 이상의 XA 트랜잭션을 동일한 전역 트랜잭션의 일부가 될 수 있습니다. 특정 글로벌 트랜잭션의 모든 XA 트랜잭션이 xid 값에서 같은 gtrid 값을 사용해야합니다. 따라서 특정 XA 트랜잭션이 전역 트랜잭션의 일부인지에 대한 모호함이 없도록 gtrid 값은 전역 적으로 고유해야합니다. xid 값 bqual 부분은 글로벌 트랜잭션의 XA 트랜잭션마다 다르다해야합니다. ( bqual 값이 다르다는 요구 사항은 현재 MySQL XA 구현의 제한 사항입니다. 이것은 XA 사양의 일부가 아닙니다.)

XA RECOVER 문은 PREPARED 상태에있는 MySQL 서버에서 XA 트랜잭션에 대한 정보를 반환합니다. ( 섹션 13.3.7.2 "XA 트랜잭션의 상태" 를 참조하십시오.)이 출력에는 어떤 클라이언트에 의해 시작되었는지에 관계없이 서버에서 이러한 XA 트랜잭션 당 행이 포함되어 있습니다 .

XA RECOVER 의 출력 행은 다음과 같습니다 ( 'abc' , 'def' , 7 의 각 부분으로부터 완성되는 xid 값의 예를 들어).

mysql> XA RECOVER;
+----------+--------------+--------------+--------+
| formatID | gtrid_length | bqual_length | data   |
+----------+--------------+--------------+--------+
|        7 |            3 |            3 | abcdef |
+----------+--------------+--------------+--------+

출력 열에는 다음과 같은 의미가 있습니다.

  • formatID 트랜잭션 xid 의 formatID 부분입니다.

  • gtrid_length 는 xid 의 gtrid 부분의 길이 (바이트 단위)입니다.

  • bqual_length 는 xid 의 bqual 부분의 길이 (바이트 단위)입니다.

  • data 는 xid 의 gtrid 및 bqual 부분의 연결입니다.


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