全新安装 Ubuntu 服务器 12.04 后,我执行了常规的apt-get update
/操作apt-get upgrade
,但失败了mysql-server-5.5
:
Setting up mysql-server-5.5 (5.5.31-0ubuntu0.12.04.2) ...
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing mysql-server-5.5 (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
mysql-server depends on mysql-server-5.5; however:
Package mysql-server-5.5 is not configured yet.
dpkg: error processing mysql-server (--configure):
dependency problems - leaving unconfigured
我尝试了谷歌搜索建议的各种方法,包括apt-get remove
/ purge
/ install -f
/reinstall
等的各种组合,但都没有成功。我还尝试直接从launchpad.net并在其上运行dpkg -i
(这对于内核升级的类似问题有效),但无济于事。
我实际上并不是特别关心 mysql 本身发生了什么(尽管我需要在某个时候弄清楚);在这一点上,我主要担心的是我无法使用apt-get install
其他软件包!
该怎么办?
答案1
有什么东西阻止了 mysql 启动。也许有一个旧的 mysql 进程仍在运行?您可以尝试手动启动 mysqld_safe 或 safe_mysqld 并检查日志中是否有任何错误。
答案2
我得到的大部分答案这里:
编辑 /var/lib/dpkg/info/mysql-server-5.1.postinst 并删除启动服务器的部分(可能调用 /etc/init.d/mysql-server start 左右),然后启动 dpkg --configure -a 来完成安装过程,然后修复您的配置。
然而,这并没有完全起到作用;我必须dpkg --configure mysql-server-5.5
在之前运行dpkg --configure -a
。
虽然 mysql 仍然无法启动,但这是一个单独的问题;我现在能够安装和更新其他软件包,这是我主要关心的问题。
答案3
遇到了同样的问题,尝试了 apt、aptitude、purge、remove、reinstall、install 等各种方法,甚至尝试在清除后重新安装并移动 /var/lib/mysql > /var/lib/mysql.old 以及 /etc/mysql > /etc/mysql.old。没用。
AppArmor 和 ubuntu 12.04 上最新的 mysql-server-5.5 补丁似乎存在冲突。这里有一个错误报告。完美修复:https://bugs.launchpad.net/ubuntu/+source/mysql-5.5/+bug/1276229
基本上,删除 AppArmor 包,dpkg 应该会看到您的 mysql-server-5.5 包未配置。删除 AppArmor 后,mysql 可以正常启动并恢复修补操作。使用 dpkg 配置 mysql 后,再次安装 AppArmor,一切应该都很好。