.deb를 사용하여 Ubuntu 시스템에 MySQL Workbench (community-6.2.3)가 설치되어 있습니다.MySQL Workbench 세션에 데이터베이스 업데이트가 표시되지 않습니다.
Workbench 세션에서 다른 세션 (응용 프로그램/명령 행 클라이언트)이 수행 한 데이터베이스에 대한 업데이트 (DML)가 보이지 않습니다.
새 세션은 시작시 데이터베이스의 올바른 상태를 볼 수 있지만 나중에 발생하는 변경 사항은 볼 수 없습니다.
Workbench 세션은 Workbench에서 커밋 된 후 db와 동기화됩니다.
다른 세션에서 만든 테이블을 쿼리하려고하면 Error Code: 1412. Table definition has changed, please retry transaction
이 표시됩니다.
워크 벤치 세션이 아닌 경우 이러한 문제가없는 것 같습니다.
구성이 누락 되었습니까?
업데이트 :
이 부분적으로 예상되는 동작과 partly a bug입니다.
저는 not using autocommit mode입니다.이 경우 SELECT
문은 첫 번째 읽기에서 설정된 스냅 샷을 사용하여 실행됩니다.
이것은 REPEATABLE READ 격리 수준에 대한 동작으로, MySQL Workbench에서 사용됩니다.
MySQL Workbench 세션의 기본 격리 수준을 변경하거나 설정할 수있는 방법이 있습니까?
워크 벤치에서 실행하는 경우 :
SELECT @@Global.tx_isolation, @@tx_isolation, @@session.tx_isolation;
반환 : 명령 행 클라이언트에 반대
READ-COMMITTED, REPEATABLE-READ, REPEATABLE-READ
: 관련
READ-COMMITTED, READ-COMMITTED, READ-COMMITTED
:
MySQL REPEATABLE-READ Workbench transaction level not set
MySQL Workbench and default session isolation level
모든 검색어와 함께 발생합니까? – Vertig0
@ Vertig0 예, 다른 세션의 삽입/업데이트/삭제는 워크 벤치에 반영되지 않습니다. – Sithsu
구성 격리 수준에 따라 트랜잭션을 시작한 후 예상되는 것처럼 보입니다 ... 의도적으로 트랜잭션을 시작하지 않았다고 가정 할 수 있습니까? 'ROLLBACK; '을 실행하면 다른 세션의 변경 사항을 볼 수 있지만 문제가 남아 있습니다. 트랜잭션을 시작하지 않은 이유는 무엇입니까? –