반응형
Grails, MySQL(MariaDB) - 더 적은 데이터에도 불구하고 max_allowed_packet 초과
저는 현재 gralls 프로젝트를 개발 중이며, 따라서 XAMPP 5.6.14를 현지에서 사용하고 있습니다.이제 다음과 같은 문제가 발생했습니다.
Packet for query is too large (10485896 > 10485760). You can change this value on the server by setting the max_allowed_packet' variable.
오류가 발생하기 전에 다음과 같이 my.cnf의 구성을 변경했습니다.
[mysqld]
max_allowed_packet = 10M
innodb_buffer_pool_size = 400M
innodb_log_file_size = 100M
데이터베이스에 저장할 도메인 클래스는 다음과 같습니다.
class DocumentFile {
Date dateCreated
Timestamp timestamp
Integer someValue
String someOtherValue
Blob file
static constraints = {
someValue nullable: true
someOtherValue nullable: true
}
static mapping = {
file type: 'blob'
}
}
테스트를 위해 데이터베이스에 새 파일을 삽입하기 위해 다음 행을 사용했습니다.
def file = new javax.sql.rowset.serial.SerialBlob(file.getBytes())
sql.execute("insert into tblDocumentFile (dateCreated, timestamp, file, someOtherValue, someValue) values (NOW(), NOW(), ?, ?, ?)", [file, 'someValue', 1])
지금까지는 좋습니다.문제는 파일 크기가 정확히 5242880바이트일 때 위의 오류 메시지가 표시된다는 것입니다.그리고 거기가 제가 갇혀있는 곳입니다.
파일이 정확히 절반인데 오류 메시지가 표시되는 이유는 무엇입니까?max_allowed_packet
쿼리용 패킷의 크기가 분명히 두 배가 되는 이유는 무엇입니까?
아이디어 있어요?
데이터베이스에서 보고된 패킷 크기가 개체에 있는 것과 같은 데이터 크기와 다릅니다.이중 바이트 문자 인코딩(크기가 100% 다를 수 있음)과 일부 오버헤드(문자 인코딩을 고려한 후 크기에 최대 10%)로 인해 상당한 차이가 있을 수 있습니다.
언급URL : https://stackoverflow.com/questions/35017588/grails-mysql-mariadb-max-allowed-packet-exceeded-despite-less-data
반응형
'programing' 카테고리의 다른 글
Spring data JPA를 사용하여 Sort 및 Pageable을 모두 사용하여 즉시 데이터를 쿼리하는 방법은 무엇입니까? (0) | 2023.07.26 |
---|---|
Oracle Managed Data Access - 연결 요청 시간 초과 - 풀링 (0) | 2023.07.26 |
MariaDB JDBC 경고를 억제하려면 어떻게 해야 합니까? (0) | 2023.07.26 |
명령줄에 Android SDK 빌드 도구를 설치하는 방법은 무엇입니까? (0) | 2023.07.26 |
Powershell v3.0 파이프 문제 (0) | 2023.07.26 |