MySQL DBlink

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表對源端無影響

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL不直接支持跨库连接,但可以使用dblink方式实现跨库连接。在创建表时,可以使用FEDERATED存储引擎,并在连接参数中指定远程数据库的连接信息。例如,可以使用以下语法创建一个以FEDERATED为存储引擎的表: CREATE TABLE 表名 (列定义) ENGINE=FEDERATED CONNECTION='mysql://用户名:密码@远程主机:端口号/远程数据库/远程表名'; 其中,用户名和密码是远程数据库的登录凭证,远程主机是远程数据库的IP地址或主机名,端口号是远程数据库的端口号,远程数据库是要连接的数据库名称,远程表名是要连接的表名。 例如,可以使用以下语法创建一个以FEDERATED为存储引擎的表,并连接到远程数据库的表: CREATE TABLE my_table (id INT, name VARCHAR(50)) ENGINE=FEDERATED CONNECTION='mysql://username:password@hostname:port/remote_database/remote_table'; 在验证查询时,可以使用LEFT JOIN语句来查询本地表和远程表的数据。例如,可以使用以下语法进行验证查询: SELECT * FROM local_table t1 LEFT JOIN remote_table t2 ON t1.column = t2.column; 其中,local_table是本地表的名称,remote_table是远程表的名称,column是连接两个表的列名。 请注意,使用dblink方式连接远程数据库需要确保远程数据库的连接信息正确,并且本地数据库服务器可以访问远程数据库服务器。 #### 引用[.reference_title] - *1* *2* [mysql跨库关联查询(dblink)](https://blog.csdn.net/qq_48721706/article/details/124088963)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [mysql数据库dblink的使用](https://blog.csdn.net/ycx987/article/details/129347285)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值