如何重新安装mysql?

软件升级打破了,其中包括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上工作了) 修复了破解后的myslq-server软件包升级到12.04并尝试了那里的建议(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 

首先,删除MySQL:

 sudo apt purge mysql-server mysql-client mysql-common sudo apt autoremove sudo rm -rf /var/lib/mysql* 

然后重新安装:

 sudo apt update sudo apt install mysql-server sudo mysql_install_db sudo /usr/bin/mysql_secure_installation 

在Ubuntu 16.04中修复它的方法是( 请先备份数据库,数据库将丢失 ):

 sudo apt remove --purge mysql-server mysql-client mysql-common sudo apt autoremove sudo rm -rf /var/lib/mysql* sudo apt install mysql-server 

(不知何故,我以前调用apt purge mysql-server似乎没有成功。我认为apt purge foo相当于apt remove --purge foo ……)

我得到了完全相同的错误,并尝试了大部分步骤,结果相同。 以下最终对我有用。

 apt-get purge mysql-server mysql-client mysql-common mysql-client-5.5 mysql-server-5.5 

之后,mysql正常安装。

我不确定对我来说是什么情况,但其他解决方案不起作用,它一直给出错误。 我尝试了这个apt-get purge mysql-* autoremove apt-get purge mysql-* ,然后autoremoveautoclean 。 安装完成后没事。

**

确保备份数据库,上面的命令也可能会删除它们

**

如果你只是跑

 sudo apt-get update sudo apt-get install mysql-server 

它将更新mysql,这解决了我更新到16.04 lts后的问题。

或者只是跑步

 sudo apt-get install lamp-server^ 

更新所有服务器包。

对于MySQL 5.7版本,我如前所述删除了MySQL:

 sudo apt purge mysql-server mysql-client mysql-common sudo apt autoremove sudo rm -rf /var/lib/mysql* 

并在帮助下安装它:

 sudo apt-get update sudo apt-get install mysql-server mysql_secure_installation 

测试一切是否有效:

 systemctl status mysql.service 

资源

从默认的Ubuntu存储库安装phpMyAdmin。 然后运行:

 dpkg --configure mysql-server-5.5 apt-get purge mysql-server mysql-client mysql-common mysql-client-5.5 mysql-server-5.5 apt-get autoremove apt-get autoclean apt-get update apt-get install mysql-server service mysql restart