我正在使用mongo shell通过 ansible 执行mongo命令。 这是我在任务中使用的行:
- name: Add the shard to the mongos
shell: /usr/bin/mongo localhost:{{ mongos_port }}/admin -u admin -p {{ mongo_admin_password }} /tmp/shard_init.js
delegate_to: '{{ item }}'
with_items: "{{ groups['mongos_servers'] }}"
但是命令在:
TASK [Add the shard to the mongos] ************************************************
当我执行远程机器上的命令行,尽管-p
选项集,但它仍然要求我输入密码...
$ /usr/bin/mongo localhost:2700/admin -u admin -p "XXXX" /tmp/shard_init.js
MongoDB shell version: 3.2.11
Enter password:
是否可以通过需要验证的数据库上的 ansible 执行 mongo 命令?
答案 0 :(得分:2)
尝试使用mysql CLI方法:
/usr/bin/mongo localhost:2700/admin -u admin -pXXXX /tmp/shard_init.js
密码仅在-p选项附近。 像使用选项表明这不是做正确的方式,但在这种情况下,命令似乎工作。