2017-03-17 4 views
0

私の古いサーバからmysqlのすべてのデータベースとテーブルの完全なログがあります。それは800メガバイトがかかります。 (私はすべてのデータをダンプするためにmysqldumpを実行します) 新しいサーバには、それぞれ複数のテーブルを持つ2つのデータベースしか復元しません。myslqdumpファイルを処理して必要なデータベースのみを選択する

私は新しいサーバmysqlに "database1"と "database2"と言うだけの最小限の努力でこのfilsを処理する方法をアドバイスする必要があります。

私はそれらのすべてをインポートして不要なものを削除することを考えていましたが、この方法では "mysql"システムデータベースをオーバーライドします。

私はdebian linuxにあります。この800mbファイルを編集することもできません。

サーバーとしては、私はそれにアクセスするだけです。 GUIはありません。

事前

答えて

1

でのおかげで、あなたのダンプが10個のデータベースが含まれていると仮定するとは、あなたは実行できませんでした:

mysql -u username -p database_name_1 < file.sql 
mysql -u username -p database_name_2 < file.sql 

これは、私はこのアドバイスを使用し、そしてちょうどdatabase_name_1インポートして、うまくdatabase_name_2

+0

これは、_ database_dump.sqlファイルから_ALL_データをインポートします。私はそれらの2つだけをインポートする必要がありますが、すべてではありません。 これ以外にも、私が言及したように、これは上書きしたくない "mysql"データベースを上書きします。 "mysql"データベースをフィルタリングできる場合はこれを行うことができます –

+1

私は自分の答えを編集しました。これは仕事をしないだろうか?多分私は誤解したでしょうか? – Chris

+0

これは理にかなっています。ありがとう! –

0

Split one file into multiple files based on delimiter デリミタとして「データベース用のダンプルーチン」を使用して、ファイルを複数のファイルに分割します。 いくつかのクリーニングと名前を変更した後、データベースごとに1つのSQLファイルがあるので、2つのデータベースを別々にインポートすることができます。

関連する問題