從服務器A staff表 更新到 服務器B staff表mysql
一、檢查服務器A上的mysql是否支持fedrated數據引擎sql
mysql> show engines;服務器
查看mysql的 FEDERATED 數據引擎 Support選項ui
配置my.ini文件。blog
[mysqld]ip
federated #添加該屬性同步
skip-federated #打開該屬性table
二、在服務器A上建立federated引擎表,該引擎表與服務器B上要更新的表結構相同配置
mysql> CREATE TABLE `fed_user` (密碼
`uid` BIGINT(20) NOT NULL AUTO INCREMENT,
`USER` char(17) DEFAULT NULL COMMENT '用戶名',
`user_pwd` char(32) DEFAULT NULL COMMENT '密碼',
PRIMARY KEY (`uid`)
UNIQUE KEY `user_name` (`user_name`)
) ENGINE=FEDERATED CONNECTION='mysql://user:password@ip:port/db_name/table_name'
三、在服務器A 上建立基於staff表的觸發器
mysql>
DELIMITER $$
CREATE
TRIGGER `trigger_name` AFTER INSERT ON `user`
FOR EACH ROW BEGIN
-- 插入數據
INSERT INTO `fed_user`(
`uid`
`username`
`password`
) VALUES (
new.`uid`
new.`username`
new.`password`
);
END;
$$
DELIMITER;
四、同步的總思路:
經過 federated 數據引擎實現跨服務器數據同步,加上觸發器就能夠自動同步。
數據 -> 觸發器 -> fed表 -> 遠程服務器