在Ansible中创建具有mysql角色的复制用户时出错

时间:2019-04-24 10:10:46

标签: mysql ansible replication

使用 geerlingguy / ansible-role-mysql

时遇到问题

错误是:

FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'list object' has no attribute 'password'\n\nThe error appears to have been in '/root/.ansible/roles/geerlingguy.mysql/tasks/replication.yml': line 2, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n- name: Ensure replication user exists on master.\n ^ here\n"}

我的 vars / main.yml:

mysql_bind_address: '0.0.0.0'
mysql_server_id: "1"
mysql_max_binlog_size: "100M"
mysql_binlog_format: "ROW"
mysql_expire_logs_days: "10"
mysql_replication_role: 'master'
mysql_replication_master: 'ip'
mysql_replication_user:
        - name: slave01
          password: pass1
          priv: "*.*:REPLICATION SLAVE"
        - name: slave02
          password: pass2
          priv: "*.*:REPLICATION SLAVE"

我正在使用一个现有角色,您可以在其中看到类似的示例:https://github.com/geerlingguy/ansible-role-mysql#example-playbook

出什么问题了?

1 个答案:

答案 0 :(得分:0)

您正在根据yaml创建对象数组。删除'-'并将所有内容缩进0个空格:

name: asddad
password: asdasd
host: asdasd
priv: asdasd