
ども。 なのまるです!
AnsibleでMySQLのユーザーアカウント管理ができると知り。
Ansibleでmysqlユーザー追加したい!とか思ってやってみたんですけど。
ハマったので、メモです!
もくじ
エラーが出る。。。
Ansibleが実行される対象のサーバー(セットアップされる側)にPythonモジュールが入っていないと、うまく動かないみたいでした・・・1 2 3 4 5 | 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の場合
1 2 3 | python --version Python 2.6.9 sudo yum install MySQL-python |
- MySQL-python26
- MySQL-python27
これで、大丈夫でした~
Ubuntuの場合
ちなみに、Ubuntuの場合は1 | sudo apt-get install python-mysqldb |
おまけ:Ansibleでやる場合
taskの例を書いておきます。- state
- environment
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | - 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