18

I have a local installation of MariaDB on a Windows XP.
I created an empty database db_y which I wanted to populate with the tables of the database db_x which I exported as a dump-file from a MySQL-instance (with HeidiSQL).

When I imported the dump-file db_x.sql into the the MariaDB instance:

c:\ > mysql -u root -h localhost -p db_y < "X:/archive/db_x.sql"

I got the following:

- MariaDB-inst
    +db_x  
    +db_y

db_y remains empty and db_x from the dump-file was added (db_x is the database name of the original database I exported).

What I have to do to get the desired database name?
I thought I could change the database name in the db_x.sql file but I didn't want to open such a large file.
Can I change the import command above in such a way that it change the database name?
I'm also interested in this kind of solution:

CREATE DATABASE y FROM DATABASE x

Is something like this possible?
In the net I find the solution RENAME DATABASE which was not recommended and ALTER DATABASE db_x UPGRADE DATA DIRECTORY NAME but sincerely, I preferred to create a new database with the new name. Thanks for any help.

4

4 に答える 4

38

と の 2 つのデータベースがあるsource_dbとしtarget_dbます。データベースの内容を から にコピーする場合、HeidiSQL で次のように実行する必要があります。source_dbtarget_db

  1. を右クリックしてsource_db選択します:データベースを SQL としてエクスポートします
  2. Outputの値を変更し、Databaseを選択します。
  3. 選択ボックスが表示されるので、選択するtarget_dbだけです。

ここに画像の説明を入力

于 2015-05-30T04:17:53.547 に答える
4

HeidiSQL を使用して、あるインスタンスから別のインスタンスにデータベースを転送する簡単な方法があります。

  1. インスタンス y にデータベース db_y を作成します
  2. ダンプ アイコンをクリックします (または右クリックします)。インスタンス y がアクティブ化されている必要があります。
  3. 「出力」オプションでデータベースを選択します
  4. 「データベース」オプションでdb_yを選択します
  5. 左側でインスタンス x とデータベース x を選択します
  6. 書き出す
于 2013-05-21T06:40:40.363 に答える
1

MySQLWorkbenchをお試しください。これはMySQLによって作成されており、データベースをバックアップして別の名前で復元するのに最適であることがわかりました。

http://dev.mysql.com/downloads/workbench/

于 2013-02-21T15:36:36.050 に答える