Debian 11(Bulls Eye)を実行しているMoodleサーバーは、コースマネージャが特定の(大規模)コースを手動でバックアップしようとすると、Webブラウザに「データベースへの書き込みエラー」メッセージを生成するように見えます。
エラーメッセージは次のリンクにリンクされています。エラー/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 |
+--------------------+-----------+
:)