ども。 なのまるです!
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