前提・実現したいこと
.sqlのファイルが100個以上あり、手動で実行してインポートするのが面倒なのでpythonで実行しようとしたところ、詰まりました。
発生している問題・エラーメッセージ
エラーは出ないのですが、
mysql: [Warning] Using a password on the command line interface can be insecure. mysql Ver 14.14 Distrib 5.7.26, for osx10.13 (x86_64) using EditLine wrapper Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
のように、いかにも実行出来ていないようなメッセージが出ます。
該当のソースコード
python
1import glob 2import subprocess 3 4files = glob.glob('../(フォルダ名)/(フォルダ名)/*.sql', recursive=True) 5 6for file in files: 7 cmd = ["mysql","-u(ユーザー名)","-p(パスワード)","テーブル名","<",file] 8 9 subprocess.run(cmd)
ちなみに、僕の想定では
mysql -u(ユーザー名) -p(パスワード) テーブル名 < file(正しいファイルのパス)
のコマンドに相当するものが実行されると思っていました。
試したこと
・mysql -u(ユーザー名) -p(パスワード) テーブル名 < file(正しいファイルのパス)
が正しく動くことを確認しました
・ファイルのパスが正しいものが取得出来ていることも確認しています
補足情報(FW/ツールのバージョンなど)
mac osx
もはや手動でやってしまった方が早いレベルで時間をかけてしまっていますが、どなたかご教授願います
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/19 09:39
2019/11/19 14:37