2017-10-04 9 views
0

mysql -uusername -ppw db_name < dump.sqlのように指定するのではなく、現在のすべてのデータベースでインポートを実行する方法はありますか?具体的には、あるデータベースのすべてのテーブルをの他のすべてのデータベースに転送したいので、私はそれらをダンプしましたが、ここに大量のデータベースがあるので、スクリプトを作成するか、回避策がありますか?データベース名が暗号化されているので、疑似ランダム文字列に似ているので、スクリプトを作成することは避けてください。MySQLのすべてのデータベースにSQLダンプをインポートするにはどうすればよいですか?

答えて

1

このような組み込みのものはありません。それはかなり特殊な状況であり、簡単に解決されます。これはシェル/ bashで1ライナーにすることができます。データベースのリストを取得し、ループにロードしてロードします。

  • パスワード入力
  • mysql_config_editor設定-uユーザ名-p
  • ワンライナー:

    • 設定デフォルトのユーザーと

      mysql -NBe "select schema_name from information_schema.schemata where schema_name not in ('mysql','performance_schema','sys','information_schema','others...')" | while read dbname ; do date; echo "loading $dbname"; mysql $dbname < dump.sql"; done 
      

      とブロックの読み取り能力用にフォーマット:

      mysql -NBe "information_schema.schemataからschema_nameを選択
      ここでschema_nameは( 'mysql'、 'performance_schema'、 'sys'、 'information_schema'、 'others ...')ではありません" dbnameを読み込みます。 do
      date;
      echo "load $ dbname";
      mysqlの$ dbnameに< dump.sql ";
      が正確にどのように多く依存

      を行って、『データベースのトンを』であり、あなたの利用可能なリソースは、2にリストを分割し、2つの同時セッションを実行します。

    +0

    これはすべきです!あなたの答えをありがとう。 –

    0

    あなたはJavaまたはPHPでスクリプトを書くことができます。ここではdb名を変更し、スクリプトはすべてのdbでsqlファイルをインポートします。以下の質問をご覧ください。 Importing .sql file into MySQL using Java code

    関連する問題