[mysql] MySQL 오류 1153- ‘max_allowed_packet’바이트보다 큰 패킷이 있습니다

MySQL 덤프를 가져오고 다음 오류가 발생합니다.

$ mysql foo < foo.sql
ERROR 1153 (08S01) at line 96: Got a packet bigger than 'max_allowed_packet' bytes

분명히 데이터베이스에 첨부 파일이있어 매우 큰 삽입이 가능합니다.


이것은 내 로컬 컴퓨터, MySQL 패키지에서 MySQL 5가 설치된 Mac에 있습니다.

max_allowed_packet덤프를 가져올 수 있도록 어디서 변경 합니까?

설정해야 할 것이 있습니까?

방금 실행 mysql --max_allowed_packet=32M …하면 같은 오류가 발생했습니다.



답변

클라이언트 (가져 오기를 수행하기 위해 실행 중)와 가져 오기를 실행하고 승인하는 데몬 mysqld 둘 다에 대해 변경해야 할 수도 있습니다.

클라이언트의 경우 명령 행에서 지정할 수 있습니다.

mysql --max_allowed_packet=100M -u root -p database < dump.sql

또한 mysqld 섹션 에서 my.cnf 또는 my.ini 파일을 변경 하고 다음을 설정하십시오.

max_allowed_packet=100M

또는 동일한 서버에 연결된 MySQL 콘솔에서 다음 명령 을 실행할 수 있습니다 .

set global net_buffer_length=1000000;
set global max_allowed_packet=1000000000;

(패킷 크기에는 매우 큰 값을 사용하십시오.)


답변

michaelpryor가 말했듯 이 클라이언트 데몬 mysqld 서버 모두 에 대해 변경해야 합니다.

클라이언트 명령 행에 대한 그의 솔루션은 좋지만 구성에 따라 ini 파일이 항상 트릭을 수행하지는 않습니다.

따라서 터미널을 열고 mysql을 입력하여 mysql 프롬프트를 표시 한 후 다음 명령을 실행하십시오.

set global net_buffer_length=1000000;
set global max_allowed_packet=1000000000; 

mysql 프롬프트를 열어두고 두 번째 터미널에서 명령 행 SQL 실행을 실행하십시오.


답변

my.ini서버 섹션 아래의 파일 (Windows의 경우 \ Program Files \ MySQL \ MySQL Server에 있음) 에서 다음과 같이 변경할 수 있습니다 .

[mysqld]

max_allowed_packet = 10M


답변

mysql.com dmg 패키지 배포에서 MySQL을 사용할 때 Mac OS X에서 my.cnf 다시

기본적으로 my.cnf는 어디에도 없습니다.

당신이 중 하나를 복사 할 필요 /usr/local/mysql/support-files/my*.cnf/etc/my.cnf하고 다시 시작 mysqld. (MySQL 환경 설정 창에서 설치 한 경우 수행 할 수 있습니다.)


답변

etc / my.cnf에서 max_allowed _packet 및 net_buffer_length를 다음으로 변경하십시오.

max_allowed_packet=100000000
net_buffer_length=1000000 

이것이 작동하지 않으면 다음으로 변경하십시오.

max_allowed_packet=100M
net_buffer_length=100K 


답변

수정 사항은 MySQL 데몬의 max_allowed_packet을 늘리는 것입니다. Super로 로그인하고 다음 명령을 실행하여 실행중인 데몬에이를 수행 할 수 있습니다.

# mysql -u admin -p

mysql> set global net_buffer_length=1000000;
Query OK, 0 rows affected (0.00 sec)

mysql> set global max_allowed_packet=1000000000;
Query OK, 0 rows affected (0.00 sec)

그런 다음 덤프를 가져 오십시오.

gunzip < dump.sql.gz | mysql -u admin -p database


답변

CENTOS 6 /etc/my.cnf의 [mysqld] 섹션에서 올바른 구문은 다음과 같습니다.

[mysqld]
# added to avoid err "Got a packet bigger than 'max_allowed_packet' bytes"
#
net_buffer_length=1000000
max_allowed_packet=1000000000
#