Debian 11でカスタムMariaDBのmax_allowed_pa​​cket値を設定しますか?

Debian 11でカスタムMariaDBのmax_allowed_pa​​cket値を設定しますか?

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 |
+--------------------+-----------+

:)

関連情報