
ども。 なのまるです!
AnsibleでMySQLのユーザーアカウント管理ができると知り。
Ansibleでmysqlユーザー追加したい!とか思ってやってみたんですけど。
ハマったので、メモです!
もくじ
エラーが出る。。。
Ansibleが実行される対象のサーバー(セットアップされる側)にPythonモジュールが入っていないと、うまく動かないみたいでした・・・TASK: [mysql | conf mysql] ***********************************************
failed: [192.168.XXX.XXX] => {"failed": true}
msg: the python mysqldb module is required
FATAL: all hosts have already failed -- aborting
このメッセージですね!the python mysqldb module is required
解決方法
- Amazon Linuxの場合
python --version Python 2.6.9 sudo yum install MySQL-pythonAmazon Linuxは検索してみると、
- MySQL-python26
- MySQL-python27
これで、大丈夫でした~
Ubuntuの場合
ちなみに、Ubuntuの場合はsudo apt-get install python-mysqldbで、入るらしいっすよ!
おまけ:Ansibleでやる場合
taskの例を書いておきます。- state
- environment
- name: install package
yum: name={{ item }} state=latest
with_items:
- MySQL-python
#environment: proxy_env
when: when: (ansible_os_family == "RedHat")
tags: python-mysqldb
- name: install package
apt: name={{ item }} state=latest
with_items:
- python-mysqldb
#environment: proxy_env
when: (ansible_distribution == "Ubuntu")
tags: python-mysqldb
まとめ
- Amazon Linuxなら、「MySQL-python」
- Ubuntuなら、「python-mysqldb」
- RHEL/CentOSなら、「MySQL-python」
mysql_user - Adds or removes a user from a MySQL database. — Ansible Documentation