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

あるMySQLサーバーから別のMySQLサーバーにデータを含むテーブルをコピーする

    フェデレーションテーブル を設定できます 、これは基本的に、あるサーバー上のテーブルを別のサーバー上のテーブルにリンクしています。次に、フェデレーションを使用してデータ転送を行います。

    CREATE TABLE test_table (
        id     INT(20) NOT NULL AUTO_INCREMENT,
        name   VARCHAR(32) NOT NULL DEFAULT '',
        other  INT(20) NOT NULL DEFAULT '0',
        PRIMARY KEY  (id),
        INDEX name (name),
        INDEX other_key (other)
    )
    ENGINE=MyISAM
    DEFAULT CHARSET=latin1;
    
    CREATE TABLE federated_table (
        id     INT(20) NOT NULL AUTO_INCREMENT,
        name   VARCHAR(32) NOT NULL DEFAULT '',
        other  INT(20) NOT NULL DEFAULT '0',
        PRIMARY KEY  (id),
        INDEX name (name),
        INDEX other_key (other)
    )
    ENGINE=FEDERATED
    DEFAULT CHARSET=latin1
    CONNECTION='mysql://[email protected]_host:9306/federated/test_table';
    

    次に、他のテーブルと同じようにクエリを実行できます。

    ただし、かなりの数の読む必要のある制限があります プレーンテキストで保存されているリモートパスワードを含みます。これが純粋に1回限りのコピーのための一時的なセットアップであり、サーバーが一般に公開されていない場合でも、それに関連するリスクのほとんどはすでに最小限に抑えられています。




    1. MySQLでのトランザクションの処理

    2. 重複キーの更新で挿入と同じ

    3. データベースから読み取ったオプションメニューを選択し、その値を使用します

    4. 既存のユーザーをエクスポートおよびインポートする方法(その特権を使用して!)