PHP Drupal7モジュールに埋め込むコードを記述したい。
ローカルMySQLデータベースで新しく生成されたデータをリモートMySQLデータベースにコピーできるプロシージャを呼び出したいのですが。
ローカルデータベースのテーブルA
にデータを挿入する場合、リモートMySQLデータベースの特定のテーブルB
にデータをコピーする必要があります。
Table 'A' is on local Host.
Table 'B' is on remote server.
INSERT data on 'A' -> copied to 'B'
これは可能ですか?
これを設定するには3つの方法があります
スレーブにこのオプションがあるMySQLレプリケーションをセットアップする
replicate_do_table=mydb.mytable
次に、実行するDML(INSERT、UPDATE、DELETE)またはDDL(ALTER TABLE)はすべてserverBにすぐに送られます。これにより、方法#1が最速かつ最も詳細なアプローチになります。
再ハッシュするのではなく、このメソッドに対して2011年5月31日に行った以前の投稿を次に示します。 MySqlServer_AからMySqlServer_Bにテーブルをコピーするにはどうすればよいですか
ServerAのmytableが次のようになっているとします。
CREATE TABLE mydb.mytable
(
...
) ENGINE=MyISAM;
このようにserverAでこれを実行することにより、serverBのターゲットテーブルのマッピングを行うことができます。
CREATE TABLE mydb.mytable_remote LIKE mytable;
ALTER TABLE mydb.mytable_remote ENGINE=FEDERATED
CONNECTION='mysql://username:password@serverB/mydb/mytable';
2012年1月4日に以前の投稿を書きました: ローカルmysqlサーバー内から外部でホストされているdbのテーブルを取得しています
次に、serverAのすべてをserverBに一括コピーして、serverAで以下を実行する必要があります。
INSERT IGNORE INTO mydb.mytable_remote SELECT * FROM mydb.mytable;