MySQL에 문제가 있습니다.큰 테이블에서 alter table 명령을 실행할 때 MySQL이 모든 것을 잠금합니다.
큰 테이블 (850 만 레코드)을 가지고 있는데 alter table add index
명령을 실행했습니다. 내가 할 때 모든 테이블이 잠겨있는 것처럼 보입니다.
내가했을 때 list processlist
나는 모든 프로세스가 수면 단계에 있고 변경이 실행 중임을 알 수 있습니다.
왜 데이터베이스의 모든 테이블이 잠겨 있습니까? 시간 초과 오류가 발생하기 시작합니다.
내 마지막 구성 오류가 있습니까? 이 일이 다시 일어나지 않도록하려면 어떻게해야합니까?
[이 오라클 블로그] MySQL의 데이터 정의 언어의 변화에 잠금 꽤 현재의 설명이 (있다 https://blogs.oracle.com/mysqlinnodb/entry/ online_alter_table_in_mysql). 아마도 사용중인 버전 및 저장소 엔진을 지정해야합니다. – hardmath
[이 비슷한 질문은 오래 전 여기에서 물었습니다] (http://stackoverflow.com/questions/463677/alter-table-without-locking-the-table), 새로운 답변을 계속해서받습니다. 가치가있는 아이디어에 대한 조사 ... – hardmath
hardmath. 답변 해 주셔서 감사합니다. 나는 아직도이 문제에 대한 해결책을 보지 못했다. 그것은 MySQL이 좋은 일을하지 못하거나 뭔가입니까? – Mike