Phi*_*gan 6 python mysql-python ansible ubuntu-16.04
我试图通过将 wordpress 实例从构建服务器部署到另一台主机服务器来自学 ansible。两台服务器都是 Ubuntu 16.04,一切正常,直到构建开始运行 mysql 任务 main.yml 文件,当我收到以下错误时:
“需要python mysqldb模块”
我在 server/tasks/main.yml 文件中包含了 python-mysqldb,所以不确定错误是什么。任何人都可以指出我正确的方向吗?
mysql/任务/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
Run Code Online (Sandbox Code Playgroud)
服务器/任务/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
Run Code Online (Sandbox Code Playgroud)
运行时控制台输出错误:ansible-playbook playbook.yml -i hosts -u jblogs -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"}
Run Code Online (Sandbox Code Playgroud)
您可以按要求安装它:
- name: Install required software
apt: name={{ item }} state=present
sudo: yes
with_items:
- apache2
- build-essential
- python-dev
- libmysqlclient-dev
- 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
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,那么您可以这样做:
- name: Install required software
apt: name={{ item }} state=present
sudo: yes
with_items:
- apache2
- build-essential
- python-dev
- libmysqlclient-dev
- python-pip
- 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
- name: Install the MySQL-python through pip
sudo: yes
pip:
name: "{{ item }}"
state: forcereinstall
with_items:
- pip
- MySQL-python
Run Code Online (Sandbox Code Playgroud)
我遇到了同样的错误问题
{“changed”:false,“failed”:true,“msg”:“需要 python mysqldb 模块”}
运行这个剧本解决了我的问题。在流浪盒上测试ubuntu/precise64
---
- hosts: vagrant1
gather_facts: no
tasks:
- name: "updating server"
apt:
update_cache: yes
- name: "Installing apt dependencies"
apt:
name: "{{item}}"
with_items:
- python-pip
- python-dev
- libmysqlclient-dev
- name: "Installing pip dependencies"
pip:
name: MySQL-python
extra_args: --index=https://pypi.python.org/pypi/
version: 1.2.3
- name: "Installing mysql server"
apt:
name: mysql-server
- name: "Creating mysql user"
mysql_user:
name: root #your mysql username
password: root #your mysql password
priv: '*.*:ALL'
state: present
...
Run Code Online (Sandbox Code Playgroud)
或者
步骤1: apt-get install mysql-server python-pip python-dev libmysqlclient-dev
第2步:pip install --index=https://pypi.python.org/pypi/ MySQL-python==1.2.3
| 归档时间: |
|
| 查看次数: |
16089 次 |
| 最近记录: |