:パスワードがコマンドとして使用されている私は、Pythonのファイルからコマンドを実行しようとしている
p = subprocess.Popen("mysqldump -h" + hostname + " -u" + mysql_user + " --password=" + mysql_pw + " " + db + " > dump_" + hostname + "_" + timestamp + ".sql", shell=True)
しかし--password=
とさえ-p
キープは自分のパスワード文字列
パスワードにハングアップ取得このような構造に似ています:
[email protected]&sfeafxegwa
コマンドラインエラー:
パスワード自体に含めることができる場合cmd = "mysqldump -h {} -u {} -p'{}' {} > dump_{}_{}.sql".format(
hostname, mysql_user, mysql_pw, db, hostname, timestamp)
subprocess.run(cmd, shell=True, check=True)
しかし、これは動作しません:あなたは例えば、シェルによって特別扱いされることから(例えば&
など)シェルのメタ文字を保護するためにパスワードを引用する必要が3210
'sfeafxegwa' is not recognized as an internal or external command,
operable program or batch file.
は、使用してみてください: '--password = '」+ mysql_pw + "」" +シングルをdb' '&'はbashによって解釈され、コマンドの前半部分を独自のプロセスとしてforkし、後半には失敗します。上記はパスワード文字列の一重引用符を追加します –
また、IMHOはもっと –
@MattClarkは大変意味がありますが、まだエラーが出ています: '' sfeafxegwa '' '、今回は余分な' ''非常に本当の@tobias_k - ありがとう! –