V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
RuiQ
V2EX  ›  Linux

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

  •  
  •   RuiQ · 2015-10-27 15:54:36 +08:00 · 8331 次点击
    这是一个创建于 3315 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    28 条回复    2015-10-28 09:35:37 +08:00
    ob
        1
    ob  
       2015-10-27 18:38:05 +08:00 via Android
    拷一份 mysql.cnf 到指定目录表
    qdwang
        2
    qdwang  
       2015-10-27 18:47:36 +08:00 via Android
    linux 问题全部问 google 解决奇快
    bk201
        3
    bk201  
       2015-10-27 18:58:24 +08:00
    终于知道 po 主老是很难解决问题的原因了。报错都这么明显了还要浪费时间论坛提问
    ETiV
        4
    ETiV  
       2015-10-27 19:02:27 +08:00 via iPhone
    可能是中文的关系,把系统语言换成英文,出事儿了再去搜,哪怕百度、 bing 也能搜到啊……
    twor2
        5
    twor2  
       2015-10-27 19:02:49 +08:00
    用英文版本的 报错 更容易 Google
    SparkMan
        6
    SparkMan  
       2015-10-27 19:06:19 +08:00
    mysql.cnf 会自动创建的啊
    yishanxin
        7
    yishanxin  
       2015-10-27 19:14:28 +08:00 via Android
    二楼 三楼。+1
    woocean
        8
    woocean  
       2015-10-27 20:41:35 +08:00
    其实如果不介意的话可以用 lnmp 之类的一键安装包= =。(我知道程序猿的各位会鄙视吧大概?但真的方便啊,编译 15min ,上手就能用了还带 phpmyadmin )

    也看了你的另一个帖子……我觉得,首先是做自己喜欢的事。如果做不好,一直很痛苦,那就做自己擅长的事,做成了同样会很快乐。再不行,那就再说。

    一切为了能过得快乐一些√参考。
    xfspace
        9
    xfspace  
       2015-10-27 20:43:07 +08:00
    @bk201 我想起 V2 之前好像是问 rm 一个文件, Linux 给出提示,死活不看 就要来问问。。。
    MSDOS
        10
    MSDOS  
       2015-10-27 21:05:57 +08:00
    玩 linux ,系统语言不要设置成中文了。

    这妹子的问题,我觉得可能还是 IT 类英语阅读能力比较差,总不习惯在全英文环境下工作。

    如果你有耐心,学点*NIX 基础知识的话,我建议你装个 FreeBSD ,它有个非常严谨的 handbook , http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/
    我当年玩最初玩 linux 时也摸不到门道,因为 linux 社区各种文档太混乱了,初学者很容易迷失方向。后来接触到了 FreeBSD ,这 handbook 虽然是英文,但我觉得高中英语水平都能阅读理解它。
    LINAICAI
        11
    LINAICAI  
       2015-10-27 21:22:06 +08:00
    为什么不用 apt ,依赖关系的问题吧。
    linux 下的软件包安装,如果不会编译安装不妨用 apt
    kemingcao
        12
    kemingcao  
       2015-10-27 22:18:20 +08:00
    kemingcao
        13
    kemingcao  
       2015-10-27 22:19:53 +08:00
    孩子可以看看: https://gist.github.com/kemingcao/30cc15d0aa3f8fd22808 ,如果有问题再提问
    Wenwei
        14
    Wenwei  
       2015-10-27 23:11:12 +08:00
    我也一直采用源码包安装,可定制性强一些。
    建议使用英文版的,报错了即使不会解决丢 Google 也能快速找到答案。
    jdlau
        15
    jdlau  
       2015-10-27 23:17:48 +08:00 via Android
    你用什么命令安装?
    D2Z
        16
    D2Z  
       2015-10-27 23:42:30 +08:00
    帮不上什么忙,不过建议楼主用英文的环境,如果出错信息是英文的可以很容易用 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 的问题,应该是楼主的系统环境有问题。
    D2Z
        17
    D2Z  
       2015-10-27 23:45:40 +08:00
    回答的一堆错误,醉的都酒精中毒了。 V2EX 不能重新编辑啊, ubuntu15.04 ,创建目录和改权限应该用: sudo mkdir -p /etc/mysql/ && sudo chmod 755 /etc/mysql
    echo1937
        18
    echo1937  
       2015-10-27 23:55:18 +08:00
    同学,这里有 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/
    D2Z
        19
    D2Z  
       2015-10-27 23:55:57 +08:00
    楼主用的系统是 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 ,开来楼主的系统环境真的有不少问题。
    D2Z
        20
    D2Z  
       2015-10-27 23:57:54 +08:00
    今天不适合发言,又一堆错误, 14.04.1 应该是 15.04.1,错别字一堆,伤心。可能太累了,该睡觉了。
    D2Z
        21
    D2Z  
       2015-10-28 00:01:45 +08:00
    以上两个回帖当我没说,本来就是 5.6 ,没脸回来了。
    hxndg
        22
    hxndg  
       2015-10-28 00:05:23 +08:00
    表示一般先试试切换到国内的源?
    然后系统版本是什么?
    有没有 apt-get update &apt-get upgrade
    再不行 apt-get install -f 试试。
    D2Z
        23
    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
        24
    D2Z  
       2015-10-28 01:10:01 +08:00
    晕,应该是 /etc/mysql/mariadb.conf.d 优先级更高,当然也可能不对。
    msg7086
        25
    msg7086  
       2015-10-28 04:31:23 +08:00
    我只想问一句,把 mariadb-common 和 mysql-server 混着装是几个意思……

    只装 mariadb 或者只装 mysql 不好吗?
    rainysia
        26
    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
        27
    vietor  
       2015-10-28 08:44:55 +08:00 via Android
    这个圈子的 level 已经这么 low 了吗?咳
    thomaspaine
        28
    thomaspaine  
       2015-10-28 09:35:37 +08:00
    对于 up 这样的配环境苦手,建议使用 docker
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1995 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 00:23 · PVG 08:23 · LAX 16:23 · JFK 19:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.