mysql(22)-两服务器-跨库查数据-federated

问题:实际中,我们可能会遇到跨库查询数据的需要。查A机器上a库中的表a->B机器上b库中的表b。两个链接,两个库。
1.配置federated引擎
   1.1看是否开启
   1.2 如果没开,linux 下修改my.cnf文件,windows修改my.ini文件
   1.3 确认开启

2.创建表 sql 语句
 


1.配置federated引擎
   1.1看是否开启
       

show engines;


   1.2 如果没开,linux 下修改my.cnf文件,windows修改my.ini文件
        添加一行 
     

   1.3 确认开启
   
 我的电脑->管理->服务 重启mysql
      

   再次运行 show engines;

已经yes了。

2.创建表 sql 语句
   CONNECTION="mysql://username:password@hostname:port/database/tablename"
 此处用双引号,不是单引号。

DROP PROCEDURE if EXISTS pro_createAFromB;
delimiter //
CREATE definer =`root`@`%` PROCEDURE pro_createAFromB()
BEGIN
set @strsql='CREATE TABLE IF NOT EXISTS`day20211013`\
	 ( `VARIANTNAME` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,\
	 `TIME` datetime(0) NOT NULL,`DATA` double NULL DEFAULT NULL,  UNIQUE INDEX `variantname`(`VARIANTNAME`, `TIME`) USING BTREE)\
	 ENGINE =FEDERATED DEFAULT CHARSET=utf8 CONNECTION="mysql://username:password@hostname:port/database/tablename"';
  PREPARE stmt from @strsql;
  EXECUTE stmt;
  set i=i+1;
  #end while; 
END;
//
delimiter ;
call pro_createAFromB()


 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值