sql >> データベース >  >> RDS >> Mysql

MySQLコピーデータベース

    重複データベースを作成するために、MySQLでデータベースをコピーまたはデータベースのクローンを作成する必要がある場合があります。 MySQLでデータベースをコピーする方法は次のとおりです。

    MySQLでデータベースをコピーする方法

    MySQLデータベースをコピーする手順は次のとおりです。

    1. CREATEDATABASEステートメントを使用して新しい空のデータベースを作成します
    2. mysqldump を使用して、すべてのデータベースオブジェクトとデータを新しいデータベースにエクスポートします コマンド
    3. 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コピーデータベース

    別のサーバーにデータベースをコピーする場合は、同様の手順に従う必要がありますが、データベースのコンテンツとオブジェクトを宛先サーバーにエクスポートします。

    1. ソースデータベースをSQLファイルにエクスポートする
    2. SQLファイルを宛先サーバーにコピーします
    3. 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を使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。

    1. Postgres動的クエリ関数

    2. ORD()の例– MySQL

    3. PostgreSQLデータをリモートサイトに複製する方法

    4. Oracleで数値を小数点以下2桁にフォーマットする3つの方法