除其他外,软件升级发生故障,mysql 和我尚未能够恢复它。
怀疑原因:我的启动盘快满了;升级在完成之前就把磁盘填满了,因此一切都乱七八糟。我给系统提供了更多的磁盘空间,并将 /var 移到了它自己的分区。我仍然没有成功恢复 mysql。
以下是我迄今为止尝试过的操作(全部以 root 身份进行)。首先,mysql 无法启动 (443)。尝试修复 (444、445) 失败。尝试删除 mysql 和 (?) apparmor 失败 (446、7、8)。更积极地尝试删除 mysql 似乎成功了 (449),以前的错误不再出现 (450、1、2)。无法重新配置 Mysql,因为它不再存在 (453),但尝试重新安装它会返回旧的错误消息,我们又回到了原点 (454)。
我也检查了这个问题(尽管在我的情况下它并没有因为升级到 12.04 而中断:它已经在 12.10 上运行了) 升级至 12.04 后修复损坏的 myslq-server 包 并尝试了其中的建议(458、461、462),但无济于事。
我还应该做什么?
这是 3.5.0-25-generic #39-Ubuntu SMP Mon Feb 25 18:26:58 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
443 service mysql start
start: Job failed to start
444 dpkg-reconfigure mysql-server-5.5
/usr/sbin/dpkg-reconfigure: mysql-server-5.5
is broken or not fully installed
445 apt-get -f install
...
Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
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
No apport report written because the error message
indicates its a followup error from a previous failure.
Errors were encountered while processing:
mysql-server-5.5
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
446 apt-get remove mysql-server
...
Removing mysql-server ...
Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
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
No apport report written because MaxReports is reached already
Errors were encountered while processing:
mysql-server-5.5
E: Sub-process /usr/bin/dpkg returned an error code (1)
447 apt-get remove apparmor
...
Package 'apparmor' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
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
Errors were encountered while processing:
mysql-server-5.5
E: Sub-process /usr/bin/dpkg returned an error code (1)
448 apt-get remove mysql-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'mysql-server' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
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
Errors were encountered while processing:
mysql-server-5.5
E: Sub-process /usr/bin/dpkg returned an error code (1)
449 dpkg -r mysql-server-5.5
(Reading database ... 322156 files and directories
currently installed.)
Removing mysql-server-5.5 ...
Processing triggers for man-db ...
Processing triggers for ureadahead ...
450 apt-get remove mysql-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'mysql-server' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
451 apt-get remove apparmor
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'apparmor' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
452 apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
453 dpkg-reconfigure mysql-server-5.5
/usr/sbin/dpkg-reconfigure: mysql-server-5.5 is broken
or not fully installed
454 apt-get install mysql-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
mysql-server-5.5
Suggested packages:
tinyca mailx
The following NEW packages will be installed:
mysql-server mysql-server-5.5
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/8,851 kB of archives.
After this operation, 32.8 MB of additional disk space
will be used.
Do you want to continue [Y/n]?
Preconfiguring packages ...
Selecting previously unselected package mysql-server-5.5.
(Reading database ... 322081 files and directories
currently installed.)
Unpacking mysql-server-5.5 (from
.../mysql-server-5.5_5.5.29-0ubuntu0.12.10.1_amd64.deb) ...
Selecting previously unselected package mysql-server.
Unpacking mysql-server (from
.../mysql-server_5.5.29-0ubuntu0.12.10.1_all.deb) ...
Processing triggers for ureadahead ...
Processing triggers for man-db ...
Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
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
No apport report written because the error message
indicates its a followup error from a previous failure.
Errors were encountered while processing:
mysql-server-5.5
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
458 apt-get remove --purge mysql-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
mysql-server*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 116 kB disk space will be freed.
Do you want to continue [Y/n]?
(Reading database ... 322159 files and directories
currently installed.)
Removing mysql-server ...
Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
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
Errors were encountered while processing:
mysql-server-5.5
E: Sub-process /usr/bin/dpkg returned an error code (1)
461 touch /etc/apparmor.d/local/usr.sbin.mysqld
(no output)
462 service mysql start
start: Job failed to start
答案1
首先,删除 MySQL:
sudo apt purge mysql-server mysql-client mysql-common
sudo apt autoremove
sudo mv -iv /var/lib/mysql /var/tmp/mysql-backup
sudo rm -rf /var/lib/mysql*
然后重新安装:
sudo apt update
sudo apt install mysql-server
mysqld --initialize
sudo /usr/bin/mysql_secure_installation
答案2
在 Ubuntu 16.04 中,我修复该问题的方法是(请先备份数据库,否则数据库将会丢失):
sudo apt remove --purge mysql-server mysql-client mysql-common
sudo apt autoremove
sudo mv -iv /var/lib/mysql /var/tmp/mysql-backup
sudo rm -rf /var/lib/mysql*
sudo apt install mysql-server
(不知何故,我之前的调用apt purge mysql-server
似乎没有成功。我认为这apt purge foo
相当于apt remove --purge foo
......)
答案3
我遇到了完全相同的错误,并尝试了您执行的大部分步骤,但结果相同。以下方法最终对我有用。
apt-get purge mysql-server mysql-client mysql-common mysql-client-5.5 mysql-server-5.5
此后mysql就安装正常了。
答案4
如果你只是跑
sudo apt-get update
sudo apt-get install mysql-server
它将更新 mysql,这解决了我更新到 16.04 lts 后遇到的问题。
或者直接运行
sudo apt-get install lamp-server^
更新所有服务器包。