--all-databases mysqldump から単一のデータベースをインポートすることは可能ですか? ファイルを手動で変更できると思いますが、これを行うコマンドラインオプションがあるかどうか疑問に思っています。
私はサーバーを移動しており、多くのデータベースを持っています。そのほとんどは現在必要ないか、現時点では必要ありませんが、必要に応じて単一のデータベースを復元するオプションが必要です。
次のコマンドを使用できます。
mysql -u root -p --one-database destdbname < alldatabases.sql
destdbname
復元したいデータベースはどこにありますか。
私見の方がはるかに安全な別のオプションは、--all-databases
ダンプからDBを抽出することです。例:
sed -n '/^-- Current Database: `dbname`/,/^-- Current Database: `/p' alldatabases.sql > output.sql
dbname
目的のデータベース名に置き換えます。alldatabases.sql
は、sql-dump ファイルの名前です。そうすれば、分離された DB がファイルに保存され、簡単な mysql コマンドを使用して復元できます。
(クレジットは Darren Mothersele に送られます -彼のページを参照してください)
mysqldump
出力は単なる一連のSQL
ステートメントです。
コマンドラインで目的のデータベースを指定し、次を使用して他のデータベースに対するコマンドをスキップできます。
mysql -D mydatabase -o mydatabase < dump.sql
mydatabase
これは、使用中の場合にのみコマンドを実行します