2011-01-31 12 views

答えて

8

これは、あなたがmysqldump dbnameを使用した場合は、あなたのダンプがCREATE DATABASEUSE DATABASEも含まない、mysqldump

を呼び出した方法によって異なります。

新しい名前でデータベースを作成し、ダンプをmysql -D new_dbnameに送ります。

mysqldump --database dbnameを使用した場合、ダンプにはCREATE DATABASEUSE DATABASE文が含まれます。

new_dbnameをコメントアウトするか置き換える必要があります。単に

+0

ええと、私はmysqldumpコマンドを使いましたが、ダンプに "create databasename"のようなものはありませんが、ダンプ内のデータベース名への参照があります。以下はその例です: "Host:localhost Database:hiking" ....これはおそらく、元のdbnameへの参照を新しい名前に変更しなければならないことを意味します。ありがとう:) – Genadinik

+0

@ゲナディニク:あなたが言及しているものはコメントであるようです。 – Quassnoi

+0

あなたが正しいファイルをより詳細に見た後、はい。それはコメントでした:) – Genadinik

2

のmysql -u -p usernamehere original_db_name_test < yourdumpfilehere.sql

+0

でこれを行うことができます新しいデータベース名 – Genadinik

+0

私はちょうど問題なく成功しました。これはうまくいく。 – jschorr

+1

@jschorrこれは、mysqldumpの作成方法に依存するためです。 – sjas

1

ダンプ・ファイルを作成するためのmysqldumpを使用した場合、:

  1. は(のmysqladminコマンドラインツールを使用 - "mysqladmin create [new database name]「)を新しいデータベースを作成し

  2. 編集ダンプ・ファイルを追加します。上部にある「USE [new database name];」。(あなたはこれを変更し、それをアンコメントすることができますので、コメントアウトの既存のuse文があるかもしれません。)

  3. "mysql -u <user name> -p < [dump file name]"でダンプを新しいテーブルにインポートします。 mysqldumpを経由してダンプを作成する際、これは前に発行する同じ名前の既存のテーブルをカリングますようちなみに、私は、「--add-ドロップテーブル」オプションを使用するように誘惑されると思います

テーブル作成ステートメント。

0

あなたは、私は、元のダンプ・ファイルは、元のデータベース名の名前を持っているとの名前を持つ必要があるので、これは正しいことではないだろうと思う「のMySQL Workbenchの」アプリケーションを使用して、素敵なGUI

関連する問題