MySQL DBlink

本文详细介绍了如何在MySQL中使用Federated引擎实现跨数据库同步,包括配置步骤、表结构创建方法及源端与目标端的操作机制差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 开启Federated引擎

在my.ini 末尾添加 federated
show engines;

在这里插入图片描述

2 通过CONNECTION在本地建表

CREATE TABLE `manager` (
  `ID` varchar(32) NOT NULL COMMENT '序号',
  `ACCOUNT` int(10) NOT NULL COMMENT '账号',
  `FIRMCODE` varchar(20) DEFAULT NULL COMMENT '会员编号',
  `ROLE` varchar(32) DEFAULT NULL COMMENT '角色',
  `COMPANY` varchar(50) DEFAULT NULL COMMENT '公司名称',
  `WEBSITE` varchar(30) DEFAULT NULL COMMENT '网址',
  `PHONE` varchar(30) DEFAULT NULL COMMENT '联系方式',
  `TIME` bigint(20) DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=FEDERATED CONNECTION='mysql://mybook:book@IP:port/mybook/manager';

3 先CREATE SERVER,再CONNECTION建表

CREATE SERVER myfedlink
FOREIGN DATA WRAPPER mysql
OPTIONS (USER 'mybook', PASSWORD 'book', HOST 'IP', PORT 3306, DATABASE 'mybook');

通过CONNECTION建表。

CREATE TABLE (......) 
ENGINE =FEDERATED CONNECTION='myfedlink/tablename'

4 MySQL DBlink 两端数据库操作机制

源端DDL(CREATE、ALTER、DROP等語句)語句更改表結構 目標端不會變化
源端DML(SELECT、UPDATE、INSERT、DELETEt等語句)語句目標端查詢會同步
源端drop表 目標端結構還在但無法查詢
目標端不能執行DDL語句
目標端執行DML語句 源端資料也會變化
目標端truncate表 源端表資料也會被清空
目標端drop表對源端無影響

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值