답변:
새로운 버전의 MySQL WorkBench에는 특정 타임 아웃을 변경하는 옵션이 있습니다.
나를 위해 편집 → 환경 설정 → SQL 편집기 → DBMS 연결 읽기 시간 초과 (초) : 600
값을 6000으로 변경했습니다.
또한 전체 데이터 세트를 검색 할 때마다 제한을두기 때문에 선택하지 않은 제한 행은 번거 롭습니다.
comandline 옵션 net_read_timeout
/ wait_timeout
및 적절한 값 (초)으로 DB 서버를 시작하십시오 (예 :) --net_read_timeout=100
.
mysqld
.
쿼리에 BLOB 데이터가 있는 경우이 답변에서 제안한대로my.ini
변경 사항 을 적용하여이 문제를 해결할 수 있습니다 .
[mysqld]
max_allowed_packet=16M
기본적으로이 값은 1M입니다 (허용되는 최대 값은 1024M입니다). 제공된 값이 1024K의 배수가 아닌 경우 가장 가까운 1024K의 배수로 자동 반올림됩니다.
참조 된 스레드는 MySQL 오류 2006 에 관한 것이지만 max_allowed_packet
1M에서 16M으로 설정하면 긴 쿼리를 실행할 때 나타나는 2013 오류 가 수정되었습니다.
WAMP 사용자의 경우 : [wampmysqld]
섹션 에서 플래그를 찾을 수 있습니다.
SET @@local.net_read_timeout=360;
경고 : 다음은 원격 연결에서 적용 할 때 작동하지 않습니다.
SET @@global.net_read_timeout=360;
이 오류 메시지에는 세 가지 원인이있을 수 있습니다.
자세한 내용 은 >>
원인 2 :
SET GLOBAL interactive_timeout=60;
기본 30 초에서 60 초 이상으로
원인 3 :
SET GLOBAL connect_timeout=60;
고마워요! 그러나 mysqldb 업데이트로 구성이 변경되었습니다.
max_allowed_packet
net_write_timeout
net_read_timeout
mysql 설정 파일에서 'interactive_timeout'및 'wait_timeout'속성을 필요한 값으로 설정해야합니다.
다음과 같이 MySQL의 올바른 기능에 필요한 많은 테이블을 재구성하고 innoDB 엔진을 재구성하는 MySQL 업그레이드를 수행하십시오 performance_schema
.information_schema
등
쉘에서 아래 명령을 실행하십시오.
sudo mysql_upgrade -u root -p
큰 덤프 파일을 복원하는 동안이 문제가 발생하고 네트워크와 관련된 문제 (예 : localhost에서의 실행)가 내 솔루션보다 도움이 될 수있는 문제를 배제 할 수 있다면.
내 mysqldump에는 mysql이 계산하기에는 너무 큰 적어도 하나의 INSERT가 있습니다. show variables like "net_buffer_length";
mysql-cli 안에 입력하여이 변수를 볼 수 있습니다 . 세 가지 가능성이 있습니다.
--skip-extended-insert
인서트 당 한 줄씩 사용 하여 덤프 만들기 ->이 덤프는 읽는 것이 훨씬 좋지만 1GB보다 큰 덤프에는 적합하지 않습니다. 매우 느리기 때문입니다.--net-buffer_length NR_OF_BYTES
.다음 mysqldump 명령을 사용했습니다.
mysqldump --skip-comments --set-charset --default-character-set=utf8 --single-transaction --net-buffer_length 4096 DBX > dumpfile
.csv 파일을로드 할 때 동일한 문제가 발생했습니다. 파일을 .sql로 변환했습니다.
아래 명령을 사용 하여이 문제를 해결할 수 있습니다.
mysql -u <user> -p -D <DB name> < file.sql
이것이 도움이되기를 바랍니다.
여기에 다른 모든 솔루션이 실패하면 syslog (/ var / log / syslog 또는 이와 유사한)를 확인하여 쿼리 중에 서버의 메모리가 부족하지 않은지 확인하십시오.
innodb_buffer_pool_size가 스왑 파일을 구성하지 않고 실제 메모리에 너무 가까이 설정되었을 때이 문제가 발생했습니다. MySQL은 실제 메모리의 최대 약 80 %에서 innodb_buffer_pool_size의 데이터베이스 특정 서버 설정을 권장하며, 약 90 %로 설정하면 커널이 mysql 프로세스를 종료합니다. innodb_buffer_pool_size를 다시 약 80 %로 옮기고 문제가 해결되었습니다.
나는이 같은 문제에 직면했다. 큰 테이블에 외래 키가 있으면 시간이 걸리는 것 같습니다.
외래 키 선언없이 create table 문을 다시 실행하려고 시도했지만 제대로 작동했습니다.
그런 다음 테이블을 만든 후 ALTER TABLE 쿼리를 사용하여 외래 키 제약 조건을 추가했습니다.
이것이 누군가를 도울 수 있기를 바랍니다.
워크 벤치 편집 → 환경 설정 → SQL 편집기 → DBMS 연결 읽기 시간 종료 : 최대 3000으로 이동하십시오. 오류가 더 이상 발생하지 않았습니다.
SSH를 사용하여 MySQL 데이터베이스에 연결하는 사람들에게는 여기에 답이없는 것 같습니다. 다른 답변에서 제안한대로 1이 아닌 두 곳을 확인해야합니다.
워크 벤치 편집 → 환경 설정 → SQL 편집기 → DBMS
워크 벤치 편집 → 환경 설정 → SSH → 시간 종료
기본 SSH 시간 초과가 매우 낮게 설정되어 일부 시간 초과 문제가 발생했지만 일부는 아닙니다. 그런 다음 MySQL Workbench를 다시 시작하는 것을 잊지 마십시오!
마지막으로, my.conf + mysql restart를 통해 mysql 자체에서 wait_timeout & interactive_timeout 속성을 높이거나 mysql을 다시 시작하는 것이 옵션이 아닌 경우 전역 세트를 수행하도록 DB 관리자에게 문의하는 것이 좋습니다.
도움이 되었기를 바랍니다!
따라야 할 세 가지 사항 :
답변:
DBMS connection read time out
필드는 숫자 5 개까지 허용하고, 0에 필드를 설정하는 기본 파라미터 (6백초)에 상당한다. (Windows 7 64-bit Ultimate, MySQL Workbench 5.2.47 CE)