cat SQLファイルを生成してインポートモードで渡す

cat SQLファイルを生成してインポートモードで渡す

次のように、mysqlを50回呼び出さずにデータベースオブジェクトごとに1つのファイルをmysqlにマッピングする一連の.SQLファイルをインポートしようとしています。

mysql -u root < cat schema/db1/*.sql

"cat"はディレクトリではないので動作しません。どうすればいいですか?なぜ私の仕事はうまくいかないのですか? Linuxコマンドパイプラインについて何を理解していませんか? ? ?

編集|データベースはSQLファイルから生成されるため、次のいずれも機能しません。

cat bridge_access/*.sql | mysql -u root bridge_access

ベストアンサー1

あなたが試しているコマンドはそれをcatファイルとして扱うことを試み、その内容をmysqlSTDINにプッシュします。代わりに、catコマンドの結果をSTDINにプッシュする必要があります。これはいくつかの異なる方法で実行できます。私がする方法は、出力をcat次にパイプすることですmysql

$ cat schema/db1/*.sql | mysql -u root

また有効であり、次のものを使用できます。

$ mysql -u root < `cat schema/db1/*.sql`

おすすめ記事