- 締切済み
パスワード入力を省略したい
バッチファイルを実行してmysqlに接続し、データベースを操作しています。 mysql -u root -p < a.sql mysql -u root -p < b.sql mysqlに接続する際のrootのパスワードの2回目以降の入力を、省略したいのですが、1回目の入力値をとっておいてそれを流用する方法はありませんでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
前の質問も閉じずになんども同じ内容で質問を繰り返すのは 非常に失礼な行為です。慎むべきでしょう。 そうでなくても質問を連投していますが、すこしは自分で調べてるのでしょうか? copyコマンドはファイル名をプラスでつなげられます。 一度テンポラリーのファイルをつくって一気に投入すればよいでしょう copy /b a.sql+b.sql+c.sql temp mysql -u root -p < temp
- nora1962
- ベストアンサー率60% (431/717)
「-p」オプションの後ろに空白を入れずにパスワードを指定できます。 mysql -u root -pxxx < a.sql mysql -u root -pxxx < b.sql の要領です。 バッチファイルにパスワードを直書きするのはセキュリティ上問題がある場合は コマンドプロンプトの「SET /P」コマンドで @ECHO OFF SET /P %PASS%="root password:" mysql -u root -p%PASS% < a.sql mysql -u root -p%PASS% < b.sql とすれば実行時に入力させることが出来ます。
- yambejp
- ベストアンサー率51% (3827/7415)
1回目のパスワードは絶対に手で入力したいのでしょうか? mysql -u root -ppass < a.sql -pの後ろに空白をいれずにパスワードを書けばいけますが・・・ また、2行に分けずに (cat a.sql b.sql)|mysql -u root -p で処理するとか・・・
補足
1回目のパスワードだけは手入力したいです。 やってみたのですが、下記のようなメッセージが出ます。 どうしたらよいですか? 'cat' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。
お礼
お礼が遅くなりまして申し訳ありません。 かなり時間がかかりましたが、ようやくわかりました。 ありがとうございました。 ただ、 @ECHO OFF をしても、入力時のパスワードが表示されてしまいますが、 これは、あきらめるしかないのでしょうか? できれば、****という感じで表示されるようにできるといいのですが・・・。