簡體   English   中英

如何在 ansible 劇本中使用密碼執行 mysql 查詢

[英]How to execute mysql query with password in ansible playbook

Ansible 劇本:

情況1

- name: case 1
  command: mysql -u root -p "MyNewPass_123" --execute="show databases;"

結果:

 "stdout_lines": ["Please use --connect-expired-password option or invoke mysql in interactive mode."]

如果我在命令中添加“--connect-expired-password”,我會收到以下錯誤

ERROR 1820 (HY000) at line 1: You must reset your password using ALTER USER statement before executing this statement."

案例二

- name: case 2
  command: mysql -u root -p --execute="show databases;"

結果:Playbook 等待輸入密碼。

我該怎么做?

首先安裝galaxy collection:

ansible-galaxy collection install community.mysql

之后可以使用模塊community.mysql.mysql_query

- name: Select query to db acme with positional arguments
  community.mysql.mysql_query:
    login_user: root
    login_password: MyNewPass_123
    login_db: ${DB_TO_USE}
    query: SELECT * FROM table WHERE id = %s AND param = %s
    positional_args:
    - 1
    - test

有關詳細信息,請參閱: https://docs.ansible.com/ansible/latest/collections/community/mysql/mysql_query_module.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM