linux 安装 mysql 遇到问题,求指点

2015-10-27 15:54:36 +08:00
 RuiQ

在安装 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)

8144 次点击
所在节点    Linux
28 条回复
D2Z
2015-10-28 00:01:45 +08:00
以上两个回帖当我没说,本来就是 5.6 ,没脸回来了。
hxndg
2015-10-28 00:05:23 +08:00
表示一般先试试切换到国内的源?
然后系统版本是什么?
有没有 apt-get update &apt-get upgrade
再不行 apt-get install -f 试试。
D2Z
2015-10-28 01:07:57 +08:00
楼主,我找到原因了:
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 中的配置可能优先级更高。
D2Z
2015-10-28 01:10:01 +08:00
晕,应该是 /etc/mysql/mariadb.conf.d 优先级更高,当然也可能不对。
msg7086
2015-10-28 04:31:23 +08:00
我只想问一句,把 mariadb-common 和 mysql-server 混着装是几个意思……

只装 mariadb 或者只装 mysql 不好吗?
rainysia
2015-10-28 07:38:58 +08:00
可以起 mariadb 和 mysql 混着, 端口和配置文件错开就 OK.

楼主可以熟悉下 linux 用法
ubuntu 很简单的,
apt-cache search mysql
看里面的名字
apt-get install mysql-*就行了, 需要其他语言支持的, 一般是语言-mysql
比如 php5-mysql, libmysqlclient, python-mysql 这样子.
用个虚拟机慢慢装就好.
vietor
2015-10-28 08:44:55 +08:00
这个圈子的 level 已经这么 low 了吗?咳
thomaspaine
2015-10-28 09:35:37 +08:00
对于 up 这样的配环境苦手,建议使用 docker

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/231470

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX