• 締切済み

パスワード入力を省略したい

バッチファイルを実行してmysqlに接続し、データベースを操作しています。 mysql -u root -p < a.sql mysql -u root -p < b.sql mysqlに接続する際のrootのパスワードの2回目以降の入力を、省略したいのですが、1回目の入力値をとっておいてそれを流用する方法はありませんでしょうか?

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

前の質問も閉じずになんども同じ内容で質問を繰り返すのは 非常に失礼な行為です。慎むべきでしょう。 そうでなくても質問を連投していますが、すこしは自分で調べてるのでしょうか? copyコマンドはファイル名をプラスでつなげられます。 一度テンポラリーのファイルをつくって一気に投入すればよいでしょう copy /b a.sql+b.sql+c.sql temp mysql -u root -p < temp

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.2

「-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 とすれば実行時に入力させることが出来ます。

tohiyu
質問者

お礼

お礼が遅くなりまして申し訳ありません。 かなり時間がかかりましたが、ようやくわかりました。 ありがとうございました。 ただ、 @ECHO OFF をしても、入力時のパスワードが表示されてしまいますが、 これは、あきらめるしかないのでしょうか? できれば、****という感じで表示されるようにできるといいのですが・・・。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

1回目のパスワードは絶対に手で入力したいのでしょうか? mysql -u root -ppass < a.sql -pの後ろに空白をいれずにパスワードを書けばいけますが・・・ また、2行に分けずに (cat a.sql b.sql)|mysql -u root -p で処理するとか・・・

tohiyu
質問者

補足

1回目のパスワードだけは手入力したいです。 やってみたのですが、下記のようなメッセージが出ます。 どうしたらよいですか? 'cat' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。

関連するQ&A