Bitte sagen Sie mir, wie ich das Modul mysql_db in Debian 9 installiere. Ich schreibe ein Playbook in Ansible. Es war notwendig, eine Datenbank und einen Benutzer zu erstellen. In der Ansible-Dokumentation steht, dass hierfür das Modul mysql_db verwendet wird. Unten auf derselben Seite finden Sie Informationen
Das Python-Paket kann mit apt-get install python-pymysql installiert werden
Ich installiere gemäß den Anweisungen vom externen 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) ...
Als nächstes versuche ich, das Playbook zu starten.
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
Mein Playbook für 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
Antwort1
Kurze Antwort
Installieren Sie das Python-Mysqldb-Modul auf dem Remote-Host.
Einzelheiten
FEHLGESCHLAGEN! => { ... "msg": "das Python-Modul mysqldb wird benötigt" ...
Zitat ausAnforderungen
Auf dem Host, der dieses Modul ausführt, werden die folgenden Anforderungen benötigt.
- MySQLdb (Python 2.x)
- PyMySQL (Python 2.7 und Python 3.X) oder
- mysql (Befehlszeilen-Binärdatei)
- mysqldump (Binärdatei für die Befehlszeile)
" The host that executes this module
" ist derRemote-Host.
Beispielsweise in FreeBSD (als Remote-Host)
$ pkg info | grep -i MySQLdb
py27-MySQLdb-1.2.5_1 Access a MySQL database through Python
FWIW, es gibt ein offenes ProblemDas MySQL-Python-Modul wird benötigt #906mit Debian.