mysql - 使用 Ansible 在 Ubuntu 14.04 上自动安装 MySQL

标签 mysql ubuntu-14.04 ansible

我正在尝试设置一个 Vagrant 环境,该环境涉及一些带有 Ansible 的 Ubuntu 机器,但在编写 Ansible Playbook 来自动执行该过程时遇到了问题。主要是,我遵循此答案中的说明 - https://stackoverflow.com/a/26598887

这是我在运行剧本时遇到的错误片段;

PLAY [web] ******************************************************************** 

GATHERING FACTS *************************************************************** 
ok: [business-web1]

TASK: [Install MySQL] ********************************************************* 
failed: [business-web1] => (item=mysql-server) => {"failed": true, "item": "mysql-server"}
stderr: start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package mysql-server-5.5 (--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.5; however:
  Package mysql-server-5.5 is not configured yet.

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

stdout: Reading package lists...
Building dependency tree...
Reading state information...
mysql-server is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 52 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up mysql-server-5.5 (5.5.44-0ubuntu0.14.04.1) ...

msg: '/usr/bin/apt-get -y -o "Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold"   install 'mysql-server'' failed: start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package mysql-server-5.5 (--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.5; however:
  Package mysql-server-5.5 is not configured yet.

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


FATAL: all hosts have already failed -- aborting

PLAY RECAP ******************************************************************** 
           to retry, use: --limit @/home/vagrant/provision-business-mysql.retry

business-web1              : ok=1    changed=0    unreachable=0    failed=1   

据我所知,第一个“安装 mysql”步骤似乎没有运行。为了验证这一点,我设法通过直接从命令行运行 ansible 模块来重现问题;

vagrant@mgmt:~$ ansible web -m apt -a "name=mysql-server update_cache=yes cache_valid_time=3600 state=latest" --sudo
business-web1 | FAILED >> {
    "failed": true,
    "msg": "'/usr/bin/apt-get -y -o \"Dpkg::Options::=--force-confdef\" -o \"Dpkg::Options::=--force-confold\"   install 'mysql-server'' failed: start: Job failed to start\ninvoke-rc.d: initscript mysql, action \"start\" failed.\ndpkg: error processing package mysql-server-5.5 (--configure):\n subprocess installed post-installation script returned error exit status 1\ndpkg: dependency problems prevent configuration of mysql-server:\n mysql-server depends on mysql-server-5.5; however:\n  Package mysql-server-5.5 is not configured yet.\n\ndpkg: error processing package mysql-server (--configure):\n dependency problems - leaving unconfigured\nNo apport report written because the error message indicates its a followup error from a previous failure.\nErrors were encountered while processing:\n mysql-server-5.5\n mysql-server\nE: Sub-process /usr/bin/dpkg returned an error code (1)\n",
    "stderr": "start: Job failed to start\ninvoke-rc.d: initscript mysql, action \"start\" failed.\ndpkg: error processing package mysql-server-5.5 (--configure):\n subprocess installed post-installation script returned error exit status 1\ndpkg: dependency problems prevent configuration of mysql-server:\n mysql-server depends on mysql-server-5.5; however:\n  Package mysql-server-5.5 is not configured yet.\n\ndpkg: error processing package mysql-server (--configure):\n dependency problems - leaving unconfigured\nNo apport report written because the error message indicates its a followup error from a previous failure.\nErrors were encountered while processing:\n mysql-server-5.5\n mysql-server\nE: Sub-process /usr/bin/dpkg returned an error code (1)\n",
    "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nmysql-server is already the newest version.\n0 upgraded, 0 newly installed, 0 to remove and 52 not upgraded.\n2 not fully installed or removed.\nAfter this operation, 0 B of additional disk space will be used.\nSetting up mysql-server-5.5 (5.5.44-0ubuntu0.14.04.1) ...\n"
}

vagrant@mgmt:~$ 

知道如何安装 mysql 并使用 Ansible 设置数据库吗?

最佳答案

我在尝试在新的 ubuntu/trusty64 机器上安装 mysql 时发生了同样的错误。疯狂的是,结果证明是由于 VM 实例的内存少于 512MB。确保您的 Vagrantfile 为您的 VM 分配了足够的内存。

config.vm.provider "virtualbox" do |vb|
  vb.memory = "512"
end

关于mysql - 使用 Ansible 在 Ubuntu 14.04 上自动安装 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31610169/

相关文章:

python - 导入错误 - Tornado 需要在 ubuntu 14.04 上更新 SSL 模块

laravel - 如何为 Vagrant 安装手动下载的 .box

java - Android ArrayIndexOutOfBoundsException 向 mysql 插入行

mysql - 从表中删除重复行

mysql - 如果在 mysql 函数内,简单查询不起作用

apache2 - 无法在 Ubuntu 14.04 上安装 apache2

ansible - 仅当安装了软件包时才禁用 systemd 服务

docker - 为 Ansible Docker 模块设置 "--rm"标志的方法?

configuration - Ansible-playbook:直接运行处理程序

mysql - 复杂的连接/联合查询