複数のMySQLサーバを運用中でそれぞれのサーバに対して一律に複数のDBユーザを作成したいと考えています。
以下のようなロールを作成して
login_host: MYSQLサーバA
の部分にサーバ名を直接入れると正常にユーザが作成されることを確認しています。
- name: MySQLユーザの作成と権限の付与 mysql_user: login_user: "{{ db_vars.admin.username }}" login_password: "{{ db_vars.admin.password }}" login_host: MYSQLサーバA name: "{{ item.name }}" host: '%' priv: >- {%- if item.db_admin -%} *.*:SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,RELOAD,PROCESS,REFERENCES,INDEX,ALTER,SHOW DATABASES,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,REPLICATION SLAVE,REPLICATION CLIENT,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,CREATE USER,EVENT,TRIGGER {%- else -%} *.*:SELECT {%- endif -%} password: "{{ item.dbpass }}" check_implicit_admin: yes state: "{{ item.dbuser_state }}" with_items: "{{ user_vars.aws.iam.users }}"
次にサーバが複数あるため別のvarsファイルを作成してそちらを読み込ませて(login_hostの部分に下記に記したサーバ)サーバごとにループして同じユーザを作りたいのですがどのようにすれば宜しいでしょうか。
db_vars: hosts_loop: db_host1: hostname: xxxxx.xxxx.xxxxx username : root password: password db_host2 hostname: yyyyy.yyyy.yyy username : root password: password
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/29 07:04
2020/07/29 07:32
2020/07/30 04:42