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