【发布时间】:2017-07-15 04:11:54
【问题描述】:
我正在尝试通过将 wordpress 实例从构建服务器部署到另一台主机服务器来自学 ansible。两台服务器都是 Ubuntu 16.04,一切正常,直到构建开始运行 mysql 任务 main.yml 文件,当我收到以下错误时:
“需要python mysqldb模块”
我已将 python-mysqldb 包含在我的 server/tasks/main.yml 文件中,因此不确定错误是什么。谁能指出我正确的方向吗?
mysql/tasks/main.yml
---
# tasks file for mysql
- name: Create mysql database
mysql_db: name={{ wp_mysql_db }} state=present
- name: Create mysql user
mysql_user:
name={{ wp_mysql_user }}
password={{ wp_mysql_password }}
priv=*.*:ALL
server/tasks/main.yml
---
# tasks file for server
- name: Update apt cache
apt: update_cache=yes cache_valid_time=3600
sudo: yes
- name: Install required software
apt: name={{ item }} state=present
sudo: yes
with_items:
- apache2
- python-mysqldb
- mysql-server
- mysql-client
- php7.0
- php7.0-mysql
- libapache2-mod-php7.0
- php7.0-cli
- php7.0-cgi
- php7.0-gd
- php7.0-mcrypt
控制台输出错误:ansible-playbook playbook.yml -i hosts -u jbloggs -K
TASK [mysql : Create mysql database] *******************************************
task path: /etc/ansible/roles/mysql/tasks/main.yml:3
fatal: [wordpress1]: FAILED! => {"changed": false, "failed": true, "msg": "the python mysqldb module is required"}
【问题讨论】:
-
您的剧本在 Vagrant 的
bento/ubuntu-16.04框上运行良好,来自 APT 的python-mysqldb已被 Ansible 正确识别,因此您的问题一定出在其他地方。您在 Ubuntu 16.04 上使用什么 Python?默认情况下它没有 Python 2,对吗?那你加了吗?还是您尝试使用 Python 3?
标签: python ansible mysql-python ubuntu-16.04