重複データベースを作成するために、MySQLでデータベースをコピーまたはデータベースのクローンを作成する必要がある場合があります。 MySQLでデータベースをコピーする方法は次のとおりです。
MySQLでデータベースをコピーする方法
MySQLデータベースをコピーする手順は次のとおりです。
- CREATEDATABASEステートメントを使用して新しい空のデータベースを作成します
- mysqldump を使用して、すべてのデータベースオブジェクトとデータを新しいデータベースにエクスポートします コマンド
- SQLダンプファイルを新しいデータベースにインポートする
ボーナス読み取り:MySQL Insert Into Select
MySQLデータベースをコピーするためのさまざまな例を見てみましょう。
同じサーバー上のMySQLコピーデータベース
データベースをコピーしたいとしますsource_db 新しいデータベースへdestination_db
MySQLにログインし、新しいデータベースを作成します destination_db
mysql> create database destination_db; mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | dashboard | | destination_db | | fedingo | | mysql | | performance_schema | | sample | | source_db | | testdb | | wordpress | +--------------------+
source_dbのオブジェクトとデータをエクスポートします ファイルに、たとえば D:\db.sql。 パスワードの入力を求められます。
>mysqldump -u root -p source_db > d:\db.sql Enter password: **********
ファイルをインポートしますd:\ db.sql destination_dbに
>mysqldump -u root -p destination_db < d:\db.sql Enter password: **********
上記の手順では、データを含むデータベースを同じサーバーにコピーします。
ボーナス読み取り:MySQL Select Top N Rows
MySQLコピーデータベーススキーマ
データベーススキーマのみをコピーする場合は、 -dを使用します 上記のMySQLdumpコマンドのオプション。これにより、データベース構造のみがコピーされ、コンテンツはコピーされません。
mysql>mysqldump -u root -p -d source_db > d:\db.sql
データベース構造をdestination_dbにインポートします 以前と同じように
mysql>mysql -u root -p -d destination_db < d:\db.sql
ボーナスリード:MySQLは重複レコードを削除します
別のサーバー上のMySQLコピーデータベース
別のサーバーにデータベースをコピーする場合は、同様の手順に従う必要がありますが、データベースのコンテンツとオブジェクトを宛先サーバーにエクスポートします。
- ソースデータベースをSQLファイルにエクスポートする
- SQLファイルを宛先サーバーにコピーします
- SQLファイルを宛先データベースにインポートします
まず、ソースデータベースをエクスポートします source_db db.sqlへ
>mysqldump -u root -p --databases source_db > d:\db.sql Enter password: **********
–データベース オプションを使用すると、SQLファイルにCREATEDATABASEステートメントとUSEステートメントを含めることができます。
次に、SQLファイルを別のサーバー(F:\ db.sqlなど)にコピーします
最後に、SQLファイルを宛先データベースにインポートします。
>mysql -u root -p destination_db < f:\db.sql Enter password: **********
ボーナスリード:Workbenchでストアドプロシージャを実行する方法
MySQLdumpなしのMySQLコピーデータベース
MySQLdumpを使用せずにデータベースをコピーする場合は、ソースデータベースの各テーブルを宛先データベースに手動でコピーする必要があります。
テーブルsalesをコピーするSQLクエリは次のとおりです。 source_dbから destination_dbへのデータベース データベース
CREATE TABLE destination_db.sales LIKE source_db.sales; INSERT destination_db.sales SELECT * FROM source_db.sales;
最初のステートメントは、ソースデータベース( source_db など)からMySQLのテーブル構造を複製します。 )別の(例: destination_db 。 2番目のステートメントは、あるテーブルから別のテーブルにデータをコピーします。データベーステーブルごとに上記のステートメントを実行するか、データベース内のすべてのテーブルに対して上記のステートメントを生成して実行するスクリプトを作成する必要があります。
Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。