Ansibleでmysqlのユーザーを設定する

プログラミング、サーバー、ネットワーク、IT用語、ハマったときのトラブルシューティングなど様々なIT関連の話題をひたすら書いていく技術ブログです。

2017年2月15日水曜日

Ansibleでmysqlのユーザーを設定する


Ansibleでmysqlのユーザー設定をする方法を紹介します。

- name: mysql-pythonのインストール
yum: name={{item}} enablerepo=remi,epel state=installed
with_items:
- mysql-devel
- MySQL-python
- mysql-server

- name: mysql起動
service: name=mysqld enabled=yes state=started

- name: mysql userの設定
mysql_user:
name: "hoge"
password: "pass1"
append_privs: yes
priv: "*.*:ALL"
state: present
login_user: "root"
login_password: ""

みたいな感じです。まずmysqlの操作にmysql-pythonがリモート側のサーバーに必要です。もしコマンドでインストールしたければsudo yum install -y MySQL-pythonなどでインストールされると思います。mysqlユーザーの設定ですが、簡単に設定項目を説明します。

name:今回作りたいユーザー名
password:今回作りたいユーザーのパスワード
state:ユーザー作成ならpresent
login_user:今回作りたいユーザーを作成するときの現在のユーザー。多くの場合はrootになると思います。mysqlが作られるとユーザーはrootのみでパスワードなしになるので、ユーザーを追加する場合はrootと空のパスワードが必要になると思います。
login_password:何も設定していなければrootの初期パスワードは空のはず。この処理以前でrootのパスワードを設定していれば、適宜変更してください。

上記のサンプルは固定で値を書いていますが、パスワードなどはgithubなどにアップするとあまりよろしくないので、group_varsにまとめて書いて、変数でアクセスしましょう。そしてgroup_varsでパスワードが書いているファイルなどはansible-vault encryptで暗号化することをオススメします。



最近の投稿