背景:我在 Ubuntu 18.04 LTS 下的 Apache2 网络服务器上运行 cqpweb,这是一个用 PHP 编写并连接到 mysql 数据库的语料库查询接口。Ubuntu 服务器是从头开始设置的,目前没有手动配置 mysql 或 php。
cqpweb 运行愉快,除非它开始抛出如下错误消息:
A MySQL query did not run successfully!
Original query: LOAD DATA LOCAL INFILE '/data2/cqpweb/cach/tab_dist_fycel9oplk' INTO TABLE `db_dist_g2f3ndxf40` FIELDS ESCAPED BY '' /* from User: knappen |
Function: create_db() | 2019-Apr-25 11:23:01 */
Error # 0:
这发生在一夜之间。类似的查询肯定在 4 月 24 日 17:55(当地时间,柏林时区)有效,并且在错误消息中给出的时间被破坏。
问题:是否有某种自动更新或升级会导致这种行为。
附加信息:
php --version
PHP 7.2.17-0ubuntu0.18.04.1 (cli) (built: Apr 18 2019 14:12:38) ( NTS )
mysql --version
mysql Ver 14.14 Distrib 5.7.25, for Linux (x86_64) using EditLine wrapper
检查一些相关的日志文件:
/var/log/dkpg.log
: 2019-04-24 14:47:54 和 2019-04-26 06:26:23 之间没有条目
/var/log/apt/history.log
: 2019-04-24 14:47:54 和 2019-04-26 06:26:23 之间没有条目
/var/log/unattended-upgrades/unattended-upgrades.log
:
2019-04-25 06:24:53,776 INFO Initial blacklisted packages:
2019-04-25 06:24:53,778 INFO Initial whitelisted packages:
2019-04-25 06:24:53,778 INFO Starting unattended upgrades script
2019-04-25 06:24:53,778 INFO Allowed origins are: o=Ubuntu,a=bionic, o=Ubuntu,a=bionic-security, o=UbuntuESM,a=bionic
2019-04-25 06:24:57,138 INFO No packages found that can be upgraded unattended and no pending auto-removals
更多发现:
表格 /var/log/apache2/error.log:
[Thu Apr 25 06:25:03.544172 2019] [mpm_prefork:notice] [pid 1244] AH00171: Graceful restart requested, doing restart
此重新启动是由于执行脚本的 cron 作业所致/etc/cron.daily/apache2
。因此,可能存在影响 apache2 安装的更改,但在关键时间间隔内在一夜之间变得活跃。
相关问题,不包括大小限制等其他潜在原因:Ubuntu 18.04 上 mysql 的大小限制是什么,如何增加它们?
编辑:由于每天都有重启 Apache2 的 cron 作业,因此以下是history.log
2019-04-24 06:25:00 和 2019-04-25 06:25:00 之间的一些更改
Start-Date: 2019-04-24 06:52:06
Commandline: /usr/bin/unattended-upgrade
Upgrade: distro-info-data:amd64 (0.37ubuntu0.3, 0.37ubuntu0.4)
End-Date: 2019-04-24 06:52:07
Start-Date: 2019-04-24 14:46:57
Commandline: apt-get upgrade
Requested-By: knappen (1000)
Upgrade: php7.2-common:amd64 (7.2.15-0ubuntu0.18.04.2, 7.2.17-0ubuntu0.18.04.1), php7.2-cli:amd64 (7.2.15-0ubuntu0.18.04.2, 7.2.17-0ubuntu0.18.04.1), ureadahead:amd64 (0.100.0-20, 0.100.0-21), linux-libc-dev:amd64 (4.15.0-47.50, 4.15.0-48.51), libsystemd0:amd64 (237-3ubuntu10.20, 237-3ubuntu10.21), php7.2-mysql:amd64 (7.2.15-0ubuntu0.18.04.2, 7.2.17-0ubuntu0.18.04.1), language-selector-common:amd64 (0.188.1, 0.188.2), udev:amd64 (237-3ubuntu10.20, 237-3ubuntu10.21), plymouth-theme-ubuntu-text:amd64 (0.9.3-1ubuntu7.18.04.1, 0.9.3-1ubuntu7.18.04.2), php7.2-json:amd64 (7.2.15-0ubuntu0.18.04.2, 7.2.17-0ubuntu0.18.04.1), php7.2-opcache:amd64 (7.2.15-0ubuntu0.18.04.2, 7.2.17-0ubuntu0.18.04.1), linux-signed-generic:amd64 (4.15.0.47.49, 4.15.0.48.50), libudev1:amd64 (237-3ubuntu10.20, 237-3ubuntu10.21), libplymouth4:amd64 (0.9.3-1ubuntu7.18.04.1, 0.9.3-1ubuntu7.18.04.2), python3-distupgrade:amd64 (1:18.04.30, 1:18.04.31), ubuntu-release-upgrader-core:amd64 (1:18.04.30, 1:18.04.31), systemd-sysv:amd64 (237-3ubuntu10.20, 237-3ubuntu10.21), php7.2-readline:amd64 (7.2.15-0ubuntu0.18.04.2, 7.2.17-0ubuntu0.18.04.1), libpam-systemd:amd64 (237-3ubuntu10.20, 237-3ubuntu10.21), systemd:amd64 (237-3ubuntu10.20, 237-3ubuntu10.21), libnss-systemd:amd64 (237-3ubuntu10.20, 237-3ubuntu10.21), plymouth:amd64 (0.9.3-1ubuntu7.18.04.1, 0.9.3-1ubuntu7.18.04.2), libapache2-mod-php7.2:amd64 (7.2.15-0ubuntu0.18.04.2, 7.2.17-0ubuntu0.18.04.1)
End-Date: 2019-04-24 14:47:54
在 cwb 邮件列表中 Stefan Evert 和 Andrew Hardie 的帮助下,找到了奇怪行为的原因,并通过在中设置以下配置解决了问题
/etc/php/7.2/apache2/php.ini
在 4 月 18 日从 PHP 7.2.15 到 PHP 7.2.17 的过渡中,默认值被悄悄地更改并推送到 Ubuntu 发行版。
更多细节和一些 cqpweb 内部替代方案可以在CWB 邮件列表上的这篇文章中找到
注意添加:即将发布的 PHP 版本将在所描述的条件下抛出错误并带有信息性错误消息,请参阅PHP::Bug#77956