MYSQL Workbenchを使用していて、同じサーバー上に異なる名前でデータベースのクローンを作成したいと思います。すべてのテーブル構造とデータを新しいデータベースに複製する必要があります。
通常の方法は、おそらくdata export
を使用してデータベースのSQLスクリプトを生成し、新しいデータベースでスクリプトを実行することですが、いくつかの問題が発生します。
とにかく、そうするためのより良い方法またはより簡単な方法はありますか?
MySQLWorkbenchから移行ウィザードを使用できます。ソースとターゲットの両方の選択で同じローカル接続を選択し、手動編集ステップでスキーマ名を変更するだけです。最後まで徹底的に調べてください。名前の異なる2つの同一のデータベースがあります。
MySQL Workbench8.0で実行しようとしました。しかし、私は列の統計に関するエラーを受け取り続けました。主なアイデアは、MySQLWorkbenchのインストールディレクトリにあるmysqldump.exeを使用してデータをエクスポートすることです。したがって、ウィンドウ指向のプラットフォームを想定します。
Powershellを開き、mysqldump.exeディレクトリに移動します。私の場合、コマンドは次のとおりです。
cd C:\Program Files\MySQL\MySQL Workbench 8.0 CE
正しい引数を指定して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]"
ディレクトリを変更せずに、次のコマンドを使用してエクスポートされたファイル(.sql)をインポートしますin Powershell:
Get-Content "[pathToExportedDataFile]" | ./mysql.exe --user=[nameOfUser] password=[yourPassword] --port=[portOfMysqlServer] --Host=[hostServerIP] --database=[nameOfNewDatabase] --binary-mode=1
Mysqldumpオプションの詳細については、ドキュメント ここ を確認してください。
次の点に注意してください: