Debian 11에서 사용자 정의 MariaDB max_allowed_packet 값을 설정하시겠습니까?

Debian 11에서 사용자 정의 MariaDB max_allowed_packet 값을 설정하시겠습니까?

이제 Debian 11(Bulls Eye)을 실행하는 Moodle 서버는 코스 관리자가 특정(대규모) 코스를 수동으로 백업하려고 할 때 웹 브라우저에 "데이터베이스에 쓰기 오류" 메시지를 생성하는 것으로 나타납니다.

오류 메시지는 다음 링크로 연결됩니다.오류 /moodle/dmlwriteExceptionmax_allowed_packet이는 데이터베이스 서버의 설정을 늘려야 할 수도 있음을 의미합니다 .

해당 페이지에서는 MySQL을 참조하고 있는데 MariaDB(v10.5.15)를 실행하고 있는데 문제가 비슷할 것으로 예상했습니다(?).

실제로 MariaDB 구성은 아직 거기에 있는 것 같지만 수정된 설정으로 어떤 구성 파일을 변경해야 할지 /etc/mysql/잘 모르겠습니다 (또는 다음 중 하나에 추가 "로컬" "재정의" 파일을 추가할 수 있는지 여부). *conf.d폴더).

아니요

-rw-r--r-- 1 root root 1126 Feb 18  2022 mariadb.cnf
lrwxrwxrwx 1 root root   24 Jun 22  2020 my.cnf -> /etc/alternatives/my.cnf
-rw-r--r-- 1 root root  839 Aug  3  2016 my.cnf.fallback

기본값을 포함합니다 max_allowed_packet.

이러한 파일은 모두 "include" !includedir /etc/mysql/conf.d/이고 둘 다 "include" my.cnf입니다 .mariadb.conf!includedir /etc/mysql/mariadb.conf.d/

*conf.d폴더 에서 max_allowed_packet참조는 다음과 같습니다.

conf.d/mysqldump.cnf:max_allowed_packet = 16M
mariadb.conf.d/50-server.cnf:#max_allowed_packet     = 1G

MariaDB 자체에서는 쿼리할 때 (= 16M)을 show variables like 'max_allowed_packet';반환하는데 16777216, 이는 더 큰 파일(100MB+)에서 발생하는 문제에 해당하는 것으로 보입니다.

거기에 있는 값이 mariadb.conf.d/50-server.cnf주석 처리되어 있는 것을 확인했습니다. 해당 폴더에 더 큰 값(주석 해제/활성화)으로 추가 conf 파일을 추가하려는 경우(가능한 경우 OS에 설치된 구성 파일을 직접 편집하고 싶지 않음) 이것이 올바른 위치/방법을 추가할 것입니다. 이걸 설정해?

답변1

다음과 같이 새 구성 파일을 추가하면 됩니다.

cat > /etc/mysql/mariadb.conf.d/50-custom_config.cnf <<EOF
[mysqld]
max_allowed_packet=256M
EOF

업데이트된 구성을 적용하려면 MariaDB를 다시 시작하는 것을 잊지 마세요.

systemctl restart mariadb

그런 다음 작동하는지 다시 확인하세요.

mysql -e "SHOW VARIABLES LIKE 'max_allowed_packet';"

당신은 이것을보아야합니다 :

+--------------------+-----------+
| Variable_name      | Value     |
+--------------------+-----------+
| max_allowed_packet | 268435456 |
+--------------------+-----------+

:)

관련 정보