能够读取文件中的数据然后使用它

时间:2019-10-01 05:47:20

标签: python mysql ansible

有没有一种使用ansible的方法,我可以从文本文件读取数据,然后在sql查询中使用它。我需要运行的查询与文本文件内容一起在下面给出。我知道这可以通过python完成,但是我需要ansible,如果有人可以帮助的话,那会很棒。

mysql query - UPDATE table SET password = "{}", salt = "{}" WHERE people_id IN (3,2);  

我的文本文件-

<password>
<salt>

我已经使用Python完成了此操作,但无法解决该问题,我做了很多研究,但没有解决方案。

import MySQLdb 
db = MySQLdb.connect("localhost","prajwalarora","password","database") 
cursor = db.cursor() 
file = open('/home/prajwalarora/Desktop/pass.txt','r') 
file_content = file.read() 
lines = file_content.split() 
file.close() 
query = 'UPDATE sc_people SET password = "{}", salt = "{}" WHERE people_id IN (3,2);'.format( lines[0], lines[1]) 
print query 
cursor.execute(query) 
db.commit() 
db.close()

我一直在使用此命令运行查询(不需要从文件中读取数据)

mysql -u root -pPASSWORD -D DBNAME -e "source /home/prajwalarora/Desktop/file.sql"

file.sql包含需要在 mysql cli

中运行的查询

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作

vars:
  sql_text: "{{ lookup('file', '/home/prajwalarora/Desktop/file.sql') }}"

tasks:
  - name: Execute command
    command: mysql -u root -pPASSWORD -D DBNAME -e "{{ sql_text }}"