升级debian之后,Mysql没有启动挤压喘息

我最近买了一个预装了Debian Squeeze的VPS机箱作为操作系统。 我升级到Debian Wheezy,大部分工作都很好(比如apache)。

我遇到的问题涉及到MySQL – 这是从升级到喘息之后才开始的。 我研究了这个,并尝试了许多解决scheme,彻底卸载和重新安装MySQL,但是当MySQL进程尝试启动时,我也得到了相同的失败消息。

似乎是一个依赖问题 – 但我不明白这是什么意思!

我已经尝试了几个解决scheme,包括这个论坛的一些,

  • 如何重新安装破损的mysql
  • 失败的MySQL升级到5.5在debian wheezy上

而这些问题还没有解决。

当我做一个干净的安装时,消息的全部痕迹如下 – 将不胜感激任何意见/帮助,因为我真的坚持这一点! 谢谢。

root@vps:~# apt-get install mysql-server mysql-client mysql-common Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: libdbd-mysql-perl libmysqlclient18 mysql-client-5.5 mysql-server-5.5 Suggested packages: libterm-readkey-perl tinyca The following NEW packages will be installed: libdbd-mysql-perl libmysqlclient18 mysql-client mysql-client-5.5 mysql-common mysql-server mysql-server-5.5 0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/4598 kB of archives. After this operation, 71.8 MB of additional disk space will be used. Do you want to continue [Y/n]? Y Preconfiguring packages ... Selecting previously unselected package mysql-common. dpkg: warning: files list file for package 'liblzma5:i386' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'libavahi-common-data:i386' missing; assuming package has no files currently installed (Reading database ... 29267 files and directories currently installed.) Unpacking mysql-common (from .../mysql-common_5.5.35+dfsg-0+wheezy1_all.deb) ... Selecting previously unselected package libmysqlclient18:i386. Unpacking libmysqlclient18:i386 (from .../libmysqlclient18_5.5.35+dfsg-0+wheezy1_i386.deb) ... Selecting previously unselected package libdbd-mysql-perl. Unpacking libdbd-mysql-perl (from .../libdbd-mysql-perl_4.021-1+b1_i386.deb) ... Selecting previously unselected package mysql-client-5.5. Unpacking mysql-client-5.5 (from .../mysql-client-5.5_5.5.35+dfsg-0+wheezy1_i386.deb) ... Processing triggers for man-db ... Setting up mysql-common (5.5.35+dfsg-0+wheezy1) ... Selecting previously unselected package mysql-server-5.5. dpkg: warning: files list file for package 'liblzma5:i386' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'libavahi-common-data:i386' missing; assuming package has no files currently installed (Reading database ... 29365 files and directories currently installed.) Unpacking mysql-server-5.5 (from .../mysql-server-5.5_5.5.35+dfsg-0+wheezy1_i386.deb) ... Selecting previously unselected package mysql-client. Unpacking mysql-client (from .../mysql-client_5.5.35+dfsg-0+wheezy1_all.deb) ... Selecting previously unselected package mysql-server. Unpacking mysql-server (from .../mysql-server_5.5.35+dfsg-0+wheezy1_all.deb) ... Processing triggers for man-db ... Setting up libmysqlclient18:i386 (5.5.35+dfsg-0+wheezy1) ... Setting up libdbd-mysql-perl (4.021-1+b1) ... Setting up mysql-client-5.5 (5.5.35+dfsg-0+wheezy1) ... Setting up mysql-server-5.5 (5.5.35+dfsg-0+wheezy1) ... Stopping MySQL database server: mysqld. Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed! 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 Setting up mysql-client (5.5.35+dfsg-0+wheezy1) ... 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 Errors were encountered while processing: mysql-server-5.5 mysql-server E: Sub-process /usr/bin/dpkg returned an error code (1) 

MyISAM是5.5之前的MySQL关系数据库pipe理系统的默认存储引擎http://en.wikipedia.org/wiki/MyISAM

Wheezy不赞成使用MyISAM和MySQL 5.5。

只需添加:

default-storage-engine=myisam

..在/etc/mysql/my.cnf文件的[mysqld]部分下

我最近在从Debian Squeeze升级到Wheezy时遇到了这个问题。 升级之后MySQL刚刚启动失败。

我得到的症状有点类似于这里发布的内容:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=682232

但是,build议的解决scheme

 rm /var/lib/mysql/ib* 

..不适合我。

为了使事情更有趣,没有错误写入MySQL日志文件。 他们在那里,但只有0字节。 顺便说一下, /var/log/mysql目录是空的。

 wordpress:~# l -dg /var/log/mysql* drwxr-s--- 2 adm 4.0K Jun 10 2010 /var/log/mysql -rw-r----- 1 adm 0 Oct 9 15:06 /var/log/mysql.err -rw-r----- 1 adm 0 Oct 9 15:06 /var/log/mysql.log 

然后我从命令行运行mysqld命令。 这最终产生了一些有用的信息:

 wordpress:~# mysqld 141009 15:39:50 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead. 141009 15:39:50 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead. 141009 15:39:50 [Note] Plugin 'FEDERATED' is disabled. 141009 15:39:50 InnoDB: The InnoDB memory heap is disabled 141009 15:39:50 InnoDB: Mutexes and rw_locks use GCC atomic builtins 141009 15:39:50 InnoDB: Compressed tables use zlib 1.2.7 141009 15:39:50 InnoDB: Using Linux native AIO 141009 15:39:50 InnoDB: Initializing buffer pool, size = 128.0M InnoDB: mmap(135987200 bytes) failed; errno 12 141009 15:39:50 InnoDB: Completed initialization of buffer pool 141009 15:39:50 InnoDB: Fatal error: cannot allocate memory for the buffer pool 141009 15:39:50 [ERROR] Plugin 'InnoDB' init function returned error. 141009 15:39:50 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 141009 15:39:50 [ERROR] Unknown/unsupported storage engine: InnoDB 141009 15:39:50 [ERROR] Aborting 141009 15:39:50 [Note] mysqld: Shutdown complete 

显然,InnoDB不被支持。 这对我来说很好,因为我以前在这台服务器上使用过MyISAM

快速search其中一些错误指向一个链接(也在ServerFault上)与anser在其中一个评论:

未知/不受支持的存储引擎:InnoDB | MySQL Ubuntu

关键是按照Andy Mikhaylenko的回答指定默认存储引擎。

显然这个答案还提到了添加skip-innodb但是这并不是我的系统要求MySQL重新启动的要求。

另外,我得到了错误

160307 21:49:22 [错误] mysqld:未知选项'–skip-bdb'

所以不得不评论这个选项

 skip-bdb 

因为这对于mysqld 5.5显然是不知道的。 大概是从一个老版本的mysql中遗留下来的,因为这个盒子是从Debian sarge开始的。