我正在尝试编写一个 python 脚本来恢复我们的数据库。我们将所有表(单独)存储在存储库中。由于键入“source table1.sql, source table2.sql,..”会很麻烦,我编写了一个脚本来自动执行此操作。
我找到了使用 Popen 的解决方案。
process = Popen('mysql %s -u%s -p%s' % (db, "root", ""), stdout=PIPE, stdin=PIPE, shell=True)
output = process.communicate('source' + file)[0]
该方法似乎工作得很好,但是,对于每个表,它都会提示我输入密码。如何绕过它以使其仅提示输入一次密码或让子进程从配置文件中读取密码?
有一个更好的方法吗?我尝试使用 Windows 批处理脚本来执行此操作,但正如您所料,这比使用 python 灵活得多(例如)