当我从 16.04(或者可能是 14,我记不太清楚)升级到 18.04 后,MySQL 无法启动。
我想我知道为什么-systemctl
这样做:
Process: 3570 ExecStart=/etc/init.d/mysql start (code=exited, status=0/SUCCESS)
看起来成功了。然而,实际发生的事情是这样的,执行的第三行/etc/init.d/mysql
是这样的:
test -x /usr/bin/mysqld_safe || exit 0
mysqld_safe
由于不存在而退出。
MySQL 是这样说的:
“对于某些 Linux 平台,从 RPM 或 Debian 软件包安装 MySQL 包括 systemd 支持,用于管理 MySQL 服务器的启动和关闭。在这些平台上,mysqld_safe 未安装,因为它是不必要的。”
我认为之前的 Ubuntu 版本是 16.04,最初安装的是 12.04。
这里应该发生什么?大概是升级后保留了原来的/etc/init.d/mysql
设置?
我最初的猜测似乎是错误的。我已经在干净的实时 USB 上安装了 mysql-server,mysqld_safe 就在那里!
dpkg 在升级的系统上显示以下内容,这不是好事:
rc mysql-server-5.5 5.5.57-0ubuntu0.14.04.1 i386 MySQL 数据库服务器二进制文件和系统数据库设置
rc mysql-server-5.7 5.7.24-0ubuntu0.18.04.1 i386 MySQL 数据库服务器二进制文件和系统数据库设置