在 Debian 11 中设置自定义 MariaDB max_allowed_pa​​cket 值?

在 Debian 11 中设置自定义 MariaDB max_allowed_pa​​cket 值?

现在,当课程管理员尝试手动备份某些(较大的)课程时,运行 Debian 11(牛眼)的 Moodle 服务器似乎会在 Web 浏览器中生成“写入数据库时​​出错”消息。

错误消息链接到错误/moodle/dmlwriteException,这表示我们可能需要增加数据库服务器的max_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值。

所有这些文件都“包含” !includedir /etc/mysql/conf.d/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 本身中,当我们查询 时show variables like 'max_allowed_packet';,它返回16777216(= 16M),这似乎与我们在处理较大文件 (100 MB+) 时遇到的问题相对应。

我注意到,其中的值mariadb.conf.d/50-server.cnf已被注释掉。如果我们要在该文件夹中添加一个附加的conf文件(如果可能的话,我不喜欢直接编辑操作系统安装的配置文件),并且具有更大的值,未注释/启用,这将是我们增加的正确位置/方式这个设置?

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

:)

相关内容