dポイントプレゼントキャンペーン実施中!

バッチファイルを実行してmysqlに接続し、データベースを操作しています。
mysql -u root -p < a.sql
mysql -u root -p < b.sql

mysqlに接続する際のrootのパスワードの2回目以降の入力を、省略したいのですが、1回目の入力値をとっておいてそれを流用する方法はありませんでしょうか?

A 回答 (3件)

前の質問も閉じずになんども同じ内容で質問を繰り返すのは


非常に失礼な行為です。慎むべきでしょう。
そうでなくても質問を連投していますが、すこしは自分で調べてるのでしょうか?

copyコマンドはファイル名をプラスでつなげられます。
一度テンポラリーのファイルをつくって一気に投入すればよいでしょう

copy /b a.sql+b.sql+c.sql temp
mysql -u root -p < temp
    • good
    • 0

「-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

とすれば実行時に入力させることが出来ます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/07/26 17:14

1回目のパスワードは絶対に手で入力したいのでしょうか?



mysql -u root -ppass < a.sql

-pの後ろに空白をいれずにパスワードを書けばいけますが・・・

また、2行に分けずに

(cat a.sql b.sql)|mysql -u root -p

で処理するとか・・・

この回答への補足

1回目のパスワードだけは手入力したいです。

やってみたのですが、下記のようなメッセージが出ます。
どうしたらよいですか?

'cat' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。

補足日時:2011/07/19 13:13
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す