web-dev-qa-db-ja.com

MySQL Workbench-同じサーバー上に異なる名前でデータベースのクローンを作成するにはどうすればよいですか?

MYSQL Workbenchを使用していて、同じサーバー上に異なる名前でデータベースのクローンを作成したいと思います。すべてのテーブル構造とデータを新しいデータベースに複製する必要があります。

通常の方法は、おそらくdata exportを使用してデータベースのSQLスクリプトを生成し、新しいデータベースでスクリプトを実行することですが、いくつかの問題が発生します。

とにかく、そうするためのより良い方法またはより簡単な方法はありますか?

3
Daredevil

MySQLWorkbenchから移行ウィザードを使用できます。ソースとターゲットの両方の選択で同じローカル接続を選択し、手動編集ステップでスキーマ名を変更するだけです。最後まで徹底的に調べてください。名前の異なる2つの同一のデータベースがあります。

4
Milosz Bodzek

MySQL Workbench8.0で実行しようとしました。しかし、私は列の統計に関するエラーを受け取り続けました。主なアイデアは、MySQLWorkbenchのインストールディレクトリにあるmysqldump.exeを使用してデータをエクスポートすることです。したがって、ウィンドウ指向のプラットフォームを想定します。

  1. Powershellを開き、mysqldump.exeディレクトリに移動します。私の場合、コマンドは次のとおりです。

                    cd C:\Program Files\MySQL\MySQL Workbench 8.0 CE
    
  2. 正しい引数を指定してmysqldumpを実行し、データベースをエクスポートします。

    ./mysqldump.exe --Host=[hostServerIP] --protocol=tcp --user=[nameOfUser] --password=[yourPassword] --dump-date=FALSE --disable-keys=FALSE --port=[portOfMysqlServer] --default-character-set=utf8 --skip-triggers --column-statistics=0 "[databaseName]"
    
  3. ディレクトリを変更せずに、次のコマンドを使用してエクスポートされたファイル(.sql)をインポートしますin Powershell

    Get-Content "[pathToExportedDataFile]" | ./mysql.exe --user=[nameOfUser] password=[yourPassword] --port=[portOfMysqlServer] --Host=[hostServerIP]  --database=[nameOfNewDatabase] --binary-mode=1
    

Mysqldumpオプションの詳細については、ドキュメント ここ を確認してください。

次の点に注意してください:

  • []の値を独自の値に置き換え、[]を削除することを忘れないでください。が存在する場合は引用符( "")を削除しないでください。
  • Powershellを切り替えないでください cmdまたはgit-bashのようなものでは、上記は機能しません。
  • 手順3に関する限り、MySQL Workbenchから新しいデータベースを作成してから、powershellコマンドを実行しました。
0
Andreas
  • リスト項目まず、CREATEDATABASEステートメントを使用して新しいデータベースを作成します。
  • 次に、mysqldumpツールを使用して、コピー元のデータベースのすべてのデータベースオブジェクトとデータをエクスポートします。
  • 3番目に、SQLダンプファイルを新しいデータベースにインポートします。
0