mysql处理跨连接(dblink)
⾸先查看是否⽀持federated 引擎
如果不⽀持,在my.ini中增加⼀⾏
federated
重启mysql即可。
引擎说明
本地MySQL数据库要访问远程MySQL数据库的表中的数据, 必须通过FEDERATED存储引擎来实现. 有点类似Oracle中的
数据库链接(DBLINK). 要允许这个存储引擎, 当构建MySQL时使⽤--with-federated-storage-engine来configure.
当创建⼀个FEDERATED表的时候, 服务器在数据库⽬录创建⼀个表定义⽂件. ⽂件由表的名字开始, 并有⼀个.frm扩展名.
本地服务器上为访问远程表创建⼀个FEDERATED表
CREATE TABLE "sys_user" (
"id" varchar(200) NOT NULL,
"name" varchar(200) NOT NULL,
"phone" varchar(200) DEFAULT NULL,
"registTime" datetime DEFAULT NULL,
"email" varchar(200) DEFAULT NULL,
"lastLonginTime" datetime DEFAULT NULL,
"remark" varchar(1000) DEFAULT NULL,
"change_password" tinyint(4) DEFAULT NULL COMMENT '为1时需要修改密码,为0不需要',
"password_date" datetime DEFAULT NULL,
PRIMARY KEY ("id")
) ENGINE=FEDERATED CONNECTION='mysql://username:password@remote_host:3306/db_name/table_name';
除了ENGINE选项应该是FEDERATED, 并且CONNECTION表选项是给FEDERATED指明如何连接到远程服务器上的连接字符串之外, 这个表的结构必须完全与远程表的结构相同.
mysql下载链接远程主机信息指明本地服务器要连接到的远程服务器, 数据库和表信息指明哪⼀个远程表要被作为数据⽂件来⽤
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论