无法在Ubuntu中安装mysql-server


17

我无法在ubuntu 9.10服务器计算机上安装mysql-server。当使用apt-get install mysql-server时,输出为:

# apt-get install mysql-server

Reading package lists... Done
Building dependency tree
Reading state information... Done

mysql-server is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 120 not upgraded.
2 not fully installed or removed.

After this operation, 0B of additional disk space will be used.
Setting up mysql-server-5.1 (5.1.37-1ubuntu5.4) ...
* Stopping MySQL database server 
    Mysqld    [ OK ]
* Starting MySQL database server 
mysqld [fail]

invoke-rc.d: initscript mysql, action "start" failed.

dpkg: error processing mysql-server-5.1 (--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.1; however:
Package mysql-server-5.1 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.1
mysql-server  
E: Sub-process /usr/bin/dpkg returned an error code (1)

我无法在任何地方找到令人满意的解决方案。许多站点要求重新安装它,但无法正常工作。

任何帮助将不胜感激。

谢谢..


尝试过使用智能吗?aptitude install mysql-server-5.1
Chris_O 2011年

是的..也尝试过,同样的错误。
Arihant

当SSH隧道使用端口3306时,安装mysql-server的症状非常相似。花了一段时间注意到,不会期望像这样的东西会破坏软件包的安装……
Famousgarkin

Answers:


26

这为我工作:

apt-get purge mysql-server
apt-get purge mysql-common
rm -rf /var/log/mysql
rm -rf /var/log/mysql.*
rm -rf /var/lib/mysql
rm -rf /etc/mysql
# and then:
apt-get install mysql-server --fix-missing --fix-broken

虽然它也会删除所有对mysql的依赖。

而且它还将删除现有数据库,请先备份!

来源


+1也对我有效!
克里斯·麦考利

在Ubuntu 12.04 LTS和MySQL 5.5.34上工作。
脆皮

+1也为我工作。我曾尝试apt-get purge mysql-server,但未尝试apt-get purge mysql-common,但无法正常工作。谢谢。
Davide Vernizzi 2014年

2
警告:此操作将删除所有数据库,请先备份!
Panthro,2015年

1
可行,谢谢。当它不起作用时,我不知道为什么它不起作用。当它起作用时,我也不知道为什么也起作用。
钱陈

5

一些建议:

  • 显而易见,请确保您以root用户身份运行。
  • 尝试执行apt-get remove mysql
  • 然后尝试执行apt-get清除 (您可能需要apt-get purge mysql,有时aptitude可能很挑剔)。
  • 始终检查您的日志。他们很可能会为几乎所有问题提供答案。
  • 另外,尝试执行apt-get clear缓存apt-get clean。然后尝试再次安装。

或尝试我在Google上找到的此解决方案:

mysql-server-5.1软件包安装后尝试启动MySQL,但失败。您需要做的第一件事就是干净地完成安装过程。做这件事有很多种方法:

要么修复您的MySQL配置,检查/etc/init.d/mysql-server是否工作,然后启动dpkg --configure -a完成安装过程;或编辑/var/lib/dpkg/info/mysql-server-5.1.postinst并删除启动服务器的部分(可能调用/etc/init.d/mysql-server start左右),然后启动dpkg- configure -a完成安装过程,然后修复您的配置。


1
同意清除安装
并重

努力工作!
Arihant

2

MySQL无法启动。发生这种情况的原因应该记录在/var/log/mysql.log中(或者仍然是/var/lib/mysql/.err?)。您可以从那里粘贴输出吗,也许我们可以找出问题所在。


/var/log/mysql.err和/var/log/mysql.log这两个文件都是空的。
Arihant

以下是/usr/local/mysql/clc.err文件的输出。clc是主机名20:50:31 mysqld_safe使用来自/ var / lib / mysql 110402 20:50:31的数据库启动mysqld守护程序[警告]无法创建测试文件/var/lib/mysql/clc.lower-test 110402 20:50:31 [警告]无法创建测试文件/var/lib/mysql/clc.lower-test 110402 20:50:31 [错误]致命错误:不能更改为以用户'mysql'的身份运行;请检查该用户是否存在!110402 20:50:31 [错误]中止110402 20:50:31 [注意] / usr / sbin / mysqld:关闭完成110402 20:50:31 mysqld_safe从pid文件/var/lib/mysql/clc.pid终止
Arihant

也许1)mysql用户不存在,或者2)/ var / lib / mysql不属于mysql用户?如果是2),请记住将-R插入。
Bittrance 2011年

这是/ etc / passwd文件条目:'mysql:x:118:128:MySQL Server ,, :: / var / lib / mysql:/ bin / false'。我已经做过chown -R mysql / var / lib / mysql ..
Arihant

这是以下内容的输出:apt-get purge mysql-server`*停止MySQL数据库服务器mysqld *启动MySQL数据库服务器mysqld [fail] invoke-rc.d:初始化mysql,操作“启动”失败。dpkg:错误处理mysql-server-5.1(--configure):安装了子进程的安装后脚本返回了错误退出状态1 E:子进程/ usr / bin / dpkg返回了错误代码(1)` 我不明白为什么当我删除它时,它将启动mysql服务器服务。
Arihant

1

打开其他控制台,输入 ps aux | grep mys

并杀死任何看起来像这样的东西:

egrep -qi ... /etc/mysql/

这应该允许安装完成。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.