技术解析

linux 安装 mysql 遇到问题,求指点
0
2021-07-08 15:49:34
idczone

在安装 mysql 时候出现报错。求帮助。 T 。 T
错误信息如下:

正在设置 mysql-server-5.6 (5.6.25-0ubuntu0.15.04.1) ...
invoke-rc.d: Unit mysql.service is masked
update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在
dpkg: 处理软件包 mysql-server-5.6 (--configure)时出错:
子进程 已安装 post-installation 脚本 返回错误状态 2
正在设置 mariadb-common (10.0.20-0ubuntu0.15.04.1) ...
update-alternatives: 错误: 候选项路径 /etc/mysql/mariadb.cnf 不存在
dpkg: 处理软件包 mariadb-common (--configure)时出错:
子进程 已安装 post-installation 脚本 返回错误状态 2
dpkg: 依赖关系问题使得 mysql-server 的配置工作不能继续:
mysql-server 依赖于 mysql-server-5.6 ;然而:
软件包 mysql-server-5.6 尚未配置。
dpkg: 处理软件包 mysql-server (--configure)时出错:
依赖关系问题 - 仍未被配置
因为错误消息指示这是由于上一个问题导致的错误,没有写入 apport 报告。
在处理时有错误发生:
mysql-server-5.6
mariadb-common
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)


拷一份 mysql.cnf 到指定目录表

linux 问题全部问 google 解决奇快

终于知道 po 主老是很难解决问题的原因了。报错都这么明显了还要浪费时间论坛提问

可能是中文的关系,把系统语言换成英文,出事儿了再去搜,哪怕百度、 bing 也能搜到啊……

用英文版本的 报错 更容易 Google

mysql.cnf 会自动创建的啊

二楼 三楼。+1

其实如果不介意的话可以用 lnmp 之类的一键安装包= =。(我知道程序猿的各位会鄙视吧大概?但真的方便啊,编译 15min ,上手就能用了还带 phpmyadmin )
也看了你的另一个帖子……我觉得,首先是做自己喜欢的事。如果做不好,一直很痛苦,那就做自己擅长的事,做成了同样会很快乐。再不行,那就再说。
一切为了能过得快乐一些√参考。

我想起 V2 之前好像是问 rm 一个文件, Linux 给出提示,死活不看 就要来问问。。。

玩 linux ,系统语言不要设置成中文了。
这妹子的问题,我觉得可能还是 IT 类英语阅读能力比较差,总不习惯在全英文环境下工作。
如果你有耐心,学点*NIX 基础知识的话,我建议你装个 FreeBSD ,它有个非常严谨的 handbook , http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/
我当年玩最初玩 linux 时也摸不到门道,因为 linux 社区各种文档太混乱了,初学者很容易迷失方向。后来接触到了 FreeBSD ,这 handbook 虽然是英文,但我觉得高中英语水平都能阅读理解它。

为什么不用 apt ,依赖关系的问题吧。
linux 下的软件包安装,如果不会编译安装不妨用 apt

https://gist.github.com/kemingcao/30cc15d0aa3f8fd22808

孩子可以看看:
https://gist.github.com/kemingcao/30cc15d0aa3f8fd22808

我也一直采用源码包安装,可定制性强一些。
建议使用英文版的,报错了即使不会解决丢 Google 也能快速找到答案。

你用什么命令安装?

帮不上什么忙,不过建议楼主用英文的环境,如果出错信息是英文的可以很容易用 Google 搜到答案。提问的时候最好是详细一点,比如用的哪个系统哪个版本,执行的那条命令安装的。

你用的好像是 ubuntu ,可以用这个命令安装 sudo apt-get -y install mysql-server mysql-client
你这个是软件包的所有文件已经安装万了,但是在执行 postinst 脚本配置的时候出错了,可以依次执行如下命令重新配置(在执行之前最好将系统的环境换成英文,出错之后可以很容易搜到)
sudo dpkg-reconfigure mysql-server-5.5
sudo dpkg-reconfigure mariadb-common
sudo dpkg-reconfigure mysql-server
如果依然报错,可以先执行 sudo mkdir -p /etc/mysql/ && chmod 755 /etc/mysql 再执行上面的三条命令。
不过很奇挂我 ubuntu14.04 正常安装完了 mysql ,但是却没有 /etc/mysql/mysql.cnf 鹤和 /etc/mysql/mariadb.cnf ,可能是楼主用的是 ubuntu15.05 ?如果方便请楼主提供一下 /etc/apt/sources.list 的内容,楼主安装软件老是出现奇挂的问题,是否是用了混合源?
这里说了 https://bugs.launchpad.net/ubuntu/+source/mysql-5.6/+bug/1461430 应该是不 canonical 的问题,应该是楼主的系统环境有问题。

回答的一堆错误,醉的都酒精中毒了。 V2EX 不能重新编辑啊, ubuntu15.04 ,创建目录和改权限应该用: sudo mkdir -p /etc/mysql/ && sudo chmod 755 /etc/mysql

同学,这里有 MySQL 官方的 APT Repository :
The APT repository supports the following Linux Distros:
Debian - 7
Debian - 8
Ubuntu - 12.04 LTS
Ubuntu - 14.04 LTS
Ubuntu - 14.10
Ubuntu - 15.04
MySQL APT repository includes the latest packages:
MySQL 5.7 (GA)
MySQL 5.6 (GA)
MySQL Workbench 6.3 (GA) - Ubuntu Only
MySQL Router
MySQL Utilities
MySQL Connector / Python
http://dev.mysql.com/downloads/repo/apt/

楼主用的系统是 ubuntu vivid , 14.04.1,现在 vivid 源里面却没有 mysql-server-5.5,都是 mysql-server-5.6 了,参考 http://packages.ubuntu.com/vivid/mysql-server ,楼主的包管理器却在安装 mysql-server-5.5 ,开来楼主的系统环境真的有不少问题。

今天不适合发言,又一堆错误, 14.04.1 应该是 15.04.1,错别字一堆,伤心。可能太累了,该睡觉了。

以上两个回帖当我没说,本来就是 5.6 ,没脸回来了。

表示一般先试试切换到国内的源?
然后系统版本是什么?
有没有 apt-get update &apt-get upgrade
再不行 apt-get install -f 试试。

楼主,我找到原因了:
postinst 脚本执行的时候,这两句
update-alternatives --install /etc/mysql/my.cnf my.cnf /etc/mysql/mysql.cnf 200
update-alternatives --install /etc/mysql/my.cnf my.cnf /etc/mysql/mariadb.cnf 200
找不到 /etc/mysql/mysql.cnf 和 /etc/mysql/mariadb.cnf ,所以就报错了。找不到 mysql.cnf 还说的过去,但是 mariadb-common 包中已经有 mariadb.cnf,提示找不到 mariadb.cnf 就说不过去了。
所以,如果你的系统还是你写问题时的状态,比如没有卸载 mysql 相关的软件,可以试着这样解决:
sudo cp /etc/mysql/{my.cnf.fallback,mysql.cnf}
sudo dpkg-reconfigure mysql-server-5.6
sudo apt-get -y install --reinstall mariadb-common
sudo dpkg-reconfigure mysql-server
应该就可以了,如果还是不行,可以继续交流。
说明: mysql 最后的配置是在目录 /etc/mysql/conf.d 和 /etc/mysql/mariadb.conf.d ,而不只是 /etc/mysql/conf.d 目录中的文件会起作用。/etc/mysql/conf.d 中的配置可能优先级更高。

晕,应该是 /etc/mysql/mariadb.conf.d 优先级更高,当然也可能不对。

我只想问一句,把 mariadb-common 和 mysql-server 混着装是几个意思……
只装 mariadb 或者只装 mysql 不好吗?

可以起 mariadb 和 mysql 混着, 端口和配置文件错开就 OK.
楼主可以熟悉下 linux 用法
ubuntu 很简单的,
apt-cache search mysql
看里面的名字
apt-get install mysql-*就行了, 需要其他语言支持的, 一般是语言-mysql
比如 php5-mysql, libmysqlclient, python-mysql 这样子.
用个虚拟机慢慢装就好.

这个圈子的 level 已经这么 low 了吗?咳

对于 up 这样的配环境苦手,建议使用 docker

数据地带为您的网站提供全球顶级IDC资源