升级到 Ubuntu 20.04 LTS 后,为什么 mySQL 无法启动?

升级到 Ubuntu 20.04 LTS 后,为什么 mySQL 无法启动?

升级到 Ubuntu 20.04 LTS 后,我的 WordPress 网站卡在维护模式。mySQL 尝试以文件中每隔几秒钟重复的相同 10 行开始/var/log/mysql/error.log。至少对我来说,快速搜索该术语unknown variable 'query_cache_limit=1M'只会得到告诉如何实现此参数的页面。我该如何让它再次工作?

2020-11-12T16:12:25.733349Z 0 [Warning] [MY-011068] [Server] The syntax 'expire-logs-days' is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.
2020-11-12T16:12:25.735469Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.22-0ubuntu0.20.04.2) starting as process 20068
2020-11-12T16:12:25.746199Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2020-11-12T16:12:26.131087Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2020-11-12T16:12:26.307241Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
2020-11-12T16:12:26.370126Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2020-11-12T16:12:26.370481Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2020-11-12T16:12:26.377752Z 0 [ERROR] [MY-000067] [Server] unknown variable 'query_cache_limit=1M'.
2020-11-12T16:12:26.378449Z 0 [ERROR] [MY-010119] [Server] Aborting
2020-11-12T16:12:27.821939Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.22-0ubuntu0.20.04.2)  (Ubuntu).

答案1

升级到 Ubuntu 20.04 LTS 后,我的 WordPress 网站卡在维护模式。(这是我升级的第四台机器,前三台机器升级时没有任何故障。)检查完 apache2 后,我开始查看 mySQL。在安装过程中,我在 Ubuntu 20.04 升级过程中瞥见了一个红色故障,但没有办法返回查看它说了什么……所以我跟踪了 mySQL 日志,发现 mySQL 正在反复尝试启动自己。它每隔几秒钟就会重复相同的 10 行。唯一似乎有问题的行是未知变量行。所以我开始寻找那个变量……

我找到query_cache_limit并从文件中删除了它/etc/mysql/my.cnf。删除它后,错误日志立即变为一个query_cache_size,所以我也从文件中删除了它my.cnf。几秒钟内,mySQL 成功重启,我又恢复了工作。

# * Query Cache Configuration
#
query_cache_limit = 1M  
query_cache_size        = 16M 
#
# * Logging and Replication
#

事后分析:不知道这些参数存在了多久,或者我是否引入了它们(我怀疑我引入了它们),因为这个 VPS 已经运行了 6 年多。删除它们后,mySQL 又可以运行了。我仍然不知道为什么 mySQL 会因为这些参数而卡住 - 似乎他们本可以很容易地忽略它们。希望这对其他人有所帮助,因为目前关于这个特定错误的信息很少。

[email protected]_server:~# mysql -V
mysql  Ver 8.0.22-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu))

相关内容