Ansible 실패: Python mysqldb 모듈이 필요합니다.

Ansible 실패: Python mysqldb 모듈이 필요합니다.

데비안 9에 mysql_db 모듈을 설치하는 방법을 알려주십시오. 저는 ansible로 플레이북을 작성하고 있습니다. 데이터베이스와 사용자를 생성해야 했습니다. Ansible 문서에서는 이를 위해 mysql_db 모듈이 사용된다고 나와 있습니다. 같은 페이지 아래에 정보가 있습니다

Python 패키지는 apt-get install python-pymysql을 사용하여 설치할 수 있습니다.

오프사이트 Ansible의 지시에 따라 설치합니다.

xxxx@instance-3:/etc/ansible$ sudo apt-get install python-pymysql
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  python-pymysql-doc
The following NEW packages will be installed:
  python-pymysql
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 61.4 kB of archives.
After this operation, 318 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian stretch/main amd64 python-pymysql all 0.7.10-1 [61.4 kB]
Fetched 61.4 kB in 0s (987 kB/s)    
Selecting previously unselected package python-pymysql.
(Reading database ... 55250 files and directories currently installed.)
Preparing to unpack .../python-pymysql_0.7.10-1_all.deb ...
Unpacking python-pymysql (0.7.10-1) ...
Setting up python-pymysql (0.7.10-1) ...

다음으로 플레이북을 시작하려고 합니다.

xxxx@instance-3:/etc/ansible$ ansible-playbook db.yml

PLAY [create data base] ********************************************************

TASK [setup] *******************************************************************
ok: [xx.xx.xx.xxx]

TASK [db] **********************************************************************
fatal: [xx.xx.xx.xxx]: FAILED! => {"changed": false, "failed": true, "msg": "the python mysqldb module is required"}
 [WARNING]: Could not create retry file '/etc/ansible/db.retry'.         [Errno 13] Permission denied:
u'/etc/ansible/db.retry'


PLAY RECAP *********************************************************************
xx.xx.xx.xxx               : ok=1    changed=0    unreachable=0    failed=1

내 Ansible 플레이북

---
- name: create data base
  hosts: all
  become: yes

  tasks:
  - name: db
    mysql_db:
     name: bobdata
     state: present

  - name: user
    mysql_user:
     name: wpuser
     password: 123456
     priv: '*.*:ALL'
     state: present

답변1

짧은 답변

원격 호스트에 python mysqldb 모듈을 설치합니다.

세부

실패한! => { ... "msg": "python mysqldb 모듈이 필요합니다" ...

에서 인용요구사항

이 모듈을 실행하는 호스트에는 아래 요구 사항이 필요합니다.

  • MySQLdb(파이썬 2.x)
  • PyMySQL(Python 2.7 및 Python 3.X) 또는
  • mysql(명령줄 바이너리)
  • mysqldump(명령줄 바이너리)

" The host that executes this module"는원격 호스트.

예를 들어 FreeBSD에서 (원격 호스트로서)

$ pkg info | grep -i MySQLdb
py27-MySQLdb-1.2.5_1           Access a MySQL database through Python

FWIW, 공개된 문제가 있습니다.MySQL-python 모듈이 필요합니다 #906데비안과 함께.

관련 정보