• 締切済み

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

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

  • MySQL
  • 回答数3
  • ありがとう数2

みんなの回答

  • 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

  • バッチファイルではパスワードが標準入力で求められるので うまくいきません。

    Windows Vistaを使っています。 起動時にMySQLをリストアするバッチファイルを書いてタスクによって自動実行させたいのですが、 mysql -u root -p データベース < データベース.sql というバッチファイルではパスワードが標準入力で求められるので うまくいきません。 パスワードも自動的に付加する方法はありますか?

    • ベストアンサー
    • MySQL
  • rootのパスワードが通らない

    windowsXPにてphpmyadminのインストール及び初期設定を行っています。 http://andante0727.blog81.fc2.com/blog-entry-104.htmlのサイトを参考に作業しています。 初期設定のコマンドプロンプトを立ち上げ、 cdコマンドでphpMyAdminをインストールしたフォルダの中の「scripts」というフォルダに移動して、 mysql -u root -p < create_tables.sqlをコマンド入力し、 rootのパスワードの入力を求められるのですが、MySQLでインストール時に設定したrootのパスワードを入力するそうですが通りません。 なぜでしょうか。サイトの内容が間違っているのでしょうか?それとも私の方でどこかが間違っているのでしょうか?

    • ベストアンサー
    • MySQL
  • phpからパスワードを入れ、MySQLに接続しようとするとエラーになります

    PHP初心者。Mac OS X(10.4.11)を使っています。 「MySQL入門以前」という本で勉強を始めましたが、初歩的であろうところで前にすすめなくなってしまい、ここ数日苦しんでおります。 パスワードを設定し set password for root=password('xxxx'); mysql -u root -p 、パスワード入力で、MySQLモニタからデータベースの操作まではうまくいったのですが、phpからMySQLを操作する段になって mysql_connect('localhost', 'root', 'xxxx');とするとエラーになるのです。それも、本に出ている「パスワードをミスタイプすると図のようなエラー画面になります」のと同じように。パスワード入力は間違っていませんが、なぜなのでしょうか?どなたか助けて頂きたいのですが…。

    • ベストアンサー
    • PHP
  • MySQLにおいてバッチ処理でデータベースを構築する際のトラブル

    MySQLにおいてバッチ処理でデータベースを構築する際のトラブル MySQLに関しては素人です。 バッチ処理でデータベースを構築したいとおもって、バッチを指示通りの場所において、 net start mysql と打って、それから、 mysql -u root -p SampleDB040 < "C:\mysql\data\sampledb040\ファイル名.sql" として、パスワードを入れて、データベースを構築したいと思ったのですが、エラーが出て出来ません。 このエラーをどうすれば解消できるのか教えてください。 以下のようなメッセージが出ています。 ERROR 1005 (HY000) at line 10: Can't create table 'sampleDB040.t01prefecture' (errno: 121) 以上 ちなみに、同一ファイル内に同じ名前のファイルはありませんし、他のデータベースにもありませんでした。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • mysql -h localhost -u roo

    「mysql -h localhost -u root -p」と、「mysql -u root -p」の違いについて、 教えてください。 mysqlのrootパスワードを設定したのですが、 「mysql -u root -p」では、パスワードを入力すればログインできるのですが、 「mysql -h localhost -u root -p」だと、パスワードを入力してもログインできません。 何が違うのでしょうか? 環境 ・Windows7のローカルPC ・Eclipse 3.7 「Pleiades All in One PHP」XAMPP1.7.4

    • ベストアンサー
    • MySQL
  • 新規ユーザを設定できない。

    MySQLで新規ユーザを設定しようとしているのですが、うまくいきません。コマンドプロンプトでまず mysql -u root -p でrootでMySQLに接続して GRANT ALL ON jamyto.* TO Mulder IDENTIFIED BY 'TrustNo1'; でユーザMulderを設定して exit で一度rootから出て mysql -u Mulder -p でMulderから入ろうとしてパスワードを入力するのですが、接続できません。この手順で合ってると思ってやっているのですが、どうでしょうか?(出来ないということは間違っている可能性大ということかもしれませんが) よろしくお願いします。

    • ベストアンサー
    • MySQL
  • パスワードを自動で入力するには?

    mysql [DB名] -u [アカウント] -p < [SQL文] で、インサートしているのですが、パスワードが求められるので 自動で処理させることができません。 よい方法はありますか?

    • ベストアンサー
    • MySQL
  • 管理者パスワードの設定

    WEBで設定方法を調べていると次の2通りが見つかりました。 1:はユーザで設定、2:はrootで設定しているようです。 これはどちらでもいいのでしょうか? それと、 # mysql -u root mysql $ mysql -u root の記述で 最後にmysqlがつくのとつかないのとではどう 違うのでしょうか? 1: '---------------------------------------- # mysql -u root mysql mysql> SET PASSWORD FOR root=PASSWORD('new_password'); 2: '----------------------------------------- $ mysql -u root mysql> set password=password('パスワード'); よろしくお願いします。

    • ベストアンサー
    • MySQL
  • バックアップとリストアについて

    Mysqlのデータバックアップを mysqldump -u root -x --all-databases > dump.sql のように行っております。 私の場合、すべてのデータベースをバックアップしたいので、allにしてます。 リストアの際には mysql -u root -p < dump.sql としております。 しかし、データベースが復元されません。 allとしてバックアップを行ったのに、データベースが全く復元されません。 何か特別な方法があるのでしょうか?

    • ベストアンサー
    • MySQL
  • SSHでのmysqldumpができません

    root権限を持たないVPSサーバにSSH接続しMySQLデータベースのバックアップをとりたいのですが、コマンドの書き方がおかしいのか、いっこうにmysqldumpが行われるようすがありません。SSHでの接続は正常に行われデータベース一覧等も取得できてはいます。 しかし、以下のようにコマンドをうってみても、何か入力をそくしているのかなんなのかリターンキーを押すそばから「-> 」が表示され、先に進みません。 これはどうなっているのでしょうか?、何か入力間違いがあるのでしょうか? また保存場所はどこになるのでしょうか? 不慣れな環境の中SSH接続でのMySQLメンテナンスで頭を抱えています。 データベース:mydb ユーザー名:root パスワード:n*****S mysql> mysqldump --default-character-set=binary -u root mydb --password=n*****S > mydbdump.sql

    • ベストアンサー
    • MySQL