升级到12.04后修复损坏的myslq-server软件包

升级到12.04之后mysql服务器无法启动。

我尝试了许多不同的东西,但没有运气。

现在,当我尝试安装它时,我得到:

$ sudo apt-get install mysql-server-5.5 Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: tinyca The following NEW packages will be installed: mysql-server-5.5 0 upgraded, 1 newly installed, 0 to remove and 39 not upgraded. Need to get 0 B/8,708 kB of archives. After this operation, 31.3 MB of additional disk space will be used. Preconfiguring packages ... Selecting previously unselected package mysql-server-5.5. (Reading database ... 243325 files and directories currently installed.) Unpacking mysql-server-5.5 (from .../mysql-server-5.5_5.5.22-0ubuntu1_i386.deb) ... Processing triggers for man-db ... Processing triggers for ureadahead ... ureadahead will be reprofiled on next reboot Setting up mysql-server-5.5 (5.5.22-0ubuntu1) ... 120509 20:32:08 [Note] Plugin 'FEDERATED' is disabled. 120509 20:32:08 InnoDB: The InnoDB memory heap is disabled 120509 20:32:08 InnoDB: Mutexes and rw_locks use GCC atomic builtins 120509 20:32:08 InnoDB: Compressed tables use zlib 1.2.3.4 120509 20:32:08 InnoDB: Initializing buffer pool, size = 128.0M 120509 20:32:08 InnoDB: Completed initialization of buffer pool InnoDB: Error: log file ./ib_logfile0 is of different size 0 67108864 bytes InnoDB: than specified in the .cnf file 0 5242880 bytes! 120509 20:32:09 [ERROR] Plugin 'InnoDB' init function returned error. 120509 20:32:09 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 120509 20:32:09 [ERROR] Unknown/unsupported storage engine: InnoDB 120509 20:32:09 [ERROR] Aborting 120509 20:32:09 [Note] /usr/sbin/mysqld: Shutdown complete 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) 

有人可以建议某种方法来解决这个问题,或者我必须重新安装整个系统吗?

提前致谢。

不需要重新安装整个系统。 如果你能做到的话

 sudo apt-get remove --purge mysql-server sudo apt-get install mysql-server-5.5 

当我安装mysql并遇到麻烦时发生的事情:

  • 你有可能失踪或有一个腐败的/etc/my.cnf (请参阅.cnf中有关问题的消息?)。 如果是这样 …

     sudo mv /etc/mysql/my.cnf /etc/mysql/my.cnf.old sudo cp /etc/mysql/my.cnf.dpkg-old /etc/mysql/my.cnf /etc/init.d/mysql start 

    当然,如果您有my.cnf.dpkg.dist,请首先检查

对于拥有mysql数据库的人来说, 这个答案 非常危险 ,因为它会删除所有这些数据库。 并且没有必要执行这样的过程。 简单地说:

 sudo touch /etc/apparmor.d/local/usr.sbin.mysqld service mysqld start 

并且mysql将恢复正常状态,mysql将运行并且您的数据库将终止活动而不会被删除..